如何在asp.net运行时更改gridview中的链接按钮文本



在我的网格视图中,一些行已经存在。网格视图有一列包含链接按钮。但当我在网格视图中添加新行时,我只想更改该新行的链接按钮的文本。

提前谢谢。

查看您的gridview事件,您可以访问事件处理程序中的特定行属性。

例如,RowCreated:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcreated.aspx

GridView不支持像更新/删除行那样插入新行。这意味着不存在用于插入行的内置功能。显然,这个问题有变通办法您可以说存在GridView的RowCreated事件,但是此事件是在GridView呈现自身时引发的,并且被视为与RowDataBound密切相关。

插入新行的最简单方法是使用DetailsView。

DetailsView:

在Details视图的<Fields>部分中添加CommandField,如下所示:

<asp:DetailsView ID="DetailsView1" runat="server" AllowPaging="True"   
            AutoGenerateRows="False" DataKeyNames="CustomerID"   
            DataSourceID="SqlDataSource1" Height="50px" Width="125px">  
            <Fields>  
                <asp:BoundField DataField="CustomerID" HeaderText="CustomerID"             
                    SortExpression="CustomerID" />  
                <asp:BoundField DataField="CompanyName" HeaderText="CompanyName"/>  
                <asp:BoundField DataField="ContactName" HeaderText="ContactName"/>    
                <asp:CommandField ShowDeleteButton="False" ShowEditButton="True"   
                    ShowInsertButton="True" />  
            </Fields>  
        </asp:DetailsView> 

您还需要具有SqlDataSource控件,如下所示:

<asp:SqlDataSource ID="SqlDataSource1" runat="server"   
            ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"   
            InsertCommand="INSERT INTO [Customers] ([CustomerID], [CompanyName], [ContactName]) VALUES (@CustomerID, @CompanyName, @ContactName)" >
<InsertParameters>  
                <asp:Parameter Name="CustomerID" Type="String" />  
                <asp:Parameter Name="CompanyName" Type="String" />  
                <asp:Parameter Name="ContactName" Type="String" />
</InsertParameters>  
        </asp:SqlDataSource> 

然而,如果您只想使用一些变通方法来使用网格视图,下面的链接值得一看:http://aspsnippets.com/Articles/Adding-Dynamic-Rows-in-ASP.Net-GridView-Control-with-TextBoxes.aspx

相关内容

  • 没有找到相关文章

最新更新