在我的gridview中,已经存在一些行。 Gridview有一列包含链接按钮。但是当我在gridview中添加新行时,我想只更改该新行的链接按钮的文本。
提前致谢。
答案 0 :(得分:0)
查看gridview事件,您可以访问事件处理程序中的特定行属性。
例如,RowCreated: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcreated.aspx
答案 1 :(得分:0)
GridView不支持像我们更新/删除行的方式那样插入新行。这意味着插入行没有这样的BuiltIn功能。显然有这个问题的解决方法。你可能会说GridView有一个RowCreated
事件,但是当GridView呈现自身并且与RowDataBound
密切相关时会引发此事件。
获取插入新行的最简单方法是使用DetailsView。
<强> DetailsView:
强>
在详细信息视图的<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
答案 2 :(得分:0)
转到此链接 这将有助于您使用所需的控件动态添加行
http://www.aspdotnet-suresh.com/2011/02/how-to-inserteditupdate-and-delete-data.html