0

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

提前致谢。

4

2 回答 2

0

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

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

于 2013-07-25T03:48:33.750 回答
0

GridView 不支持像我们更新/删除行那样插入新行。这意味着没有用于插入行的内置功能。显然有解决这个问题的方法。你可能会说有一个RowCreatedGridView 的事件,但是这个事件是在 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

于 2013-07-25T05:46:37.030 回答