如何在GridView中访问行的值

时间:2011-03-08 15:24:08

标签: asp.net gridview

如何在GridView中访问行的值?

我可以访问SelectedValue,但我想知道如何才能访问MyGridView.Rows[4].Value

注意:该值是一个ID,不会出现在网格中(不作为单元格存在)。

3 个答案:

答案 0 :(得分:0)

设置GridView的DataKeyNames属性(MSDN Link),如下所示:

<asp:GridView ID="MyGridView" runat="server" DataKeyNames="rowID"></asp:GridView>

然后您可以在代码隐藏中访问:

int rowID = (int)MyGridView.DataKeys[4].Value;

答案 1 :(得分:0)

dataGridView1.Rows[row_Index].Cells[column_Index].Value

对于上帝的爱,请不要使用像“4”这样的幻数,为行/列索引定义常量

答案 2 :(得分:0)

我假设您在RowCommand event中获得了值,但您也可以使用相同的逻辑在其他地方访问

protected void grd_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Edit")
    {
       GridViewRow row = (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer);
       TextBox txt = (TextBox)row.FindControl(""); // now you row object and you can 
                                                     access all of you controls
    }        
}