在我的网格视图中,一些行已经存在。网格视图有一列包含链接按钮。但当我在网格视图中添加新行时,我只想更改该新行的链接按钮的文本。
提前谢谢。
查看您的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