在我的网格视图中,一些行已经存在。Gridview 有一列包含链接按钮。但是,当我在 gridview 中添加新行时,我只想更改该新行的链接按钮的文本。
提前致谢。
在我的网格视图中,一些行已经存在。Gridview 有一列包含链接按钮。但是,当我在 gridview 中添加新行时,我只想更改该新行的链接按钮的文本。
提前致谢。
查看您的 gridview 事件,您可以访问事件处理程序中的特定行属性。
例如 RowCreated:http: //msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcreated.aspx
GridView 不支持像我们更新/删除行那样插入新行。这意味着没有用于插入行的内置功能。显然有解决这个问题的方法。你可能会说有一个RowCreated
GridView 的事件,但是这个事件是在 GridView 呈现自身时引发的,并且与RowDataBound
.
插入新行的最简单方法是使用 DetailsView。
DetailsView:
<Fields>
在Details 视图的部分中添加一个 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