获取gridview中的行号
问题描述:
我有一个gridview,我已经将datasource设置为datatable。无论我对gridview进行什么更新,它都应该仅反映在数据表中,而不反映到数据库。当我点击更新时,我必须得到我想要更新的特定行的行号。如何获取gridview的rowupdating事件中的行号以更新数据表?假设我有一个数据键,如果我得到这个唯一的ID,我如何更新数据源是数据源?任何人都可以帮忙吗?获取gridview中的行号
答
如果应用了排序,那么gridview和datatable中的行号将不匹配。
所以,如果你尝试更新gridview中的行号,它可能会以不正确的值结束。
更新应该基于gridview数据源中的唯一ID。
+0
如果soting不存在,我该如何获得rownumber – user42348 2009-08-11 06:54:32
答
这是让你更新的行的行ID的方式:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string id = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
}
也许你只想要e.RowIndex。但上面的代码返回该行的指定唯一数据键。
答
<asp:TemplateField HeaderText="Slno">
<ItemTemplate>
<div style="margin-top: 0px; color: black;">
<asp:Label ID="txtid" runat="server" Font-Size="8.5pt" ForeColor="#000f9f" Text='<%# Container.DataItemIndex+1 %>'></asp:Label>
</div>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="30px" />
</asp:TemplateField>
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
Label id = (Label) GridView1.Rows[e.RowIndex].findcontrol("slno");
}
你可以把你的网格视图的代码? – Ali 2013-09-10 06:29:18