10

如何获取子控件正在回发的网格视图的行索引。我知道获得控制的方式导致回发并找到返回网格视图行的父容器,然后找到它的索引。 我希望在 RowDataBound 事件中检查 selectedrow 索引和相同的格式。是否有任何其他属性或设置直接在任何子控件回发时发出网格视图的选定索引

编辑:

例如,如果一行中有一个下拉列表,并且网格视图中有某些行。然后我想要gridview rowindex 由于gridview 行中的dropdowlist 而发生回发。

4

1 回答 1

19

RowDataBound您可以通过RowIndex属性获取行的索引:

protected void gridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        int index = e.Row.RowIndex;
    }
}

您可以通过以下方式获取 GridView 中任何子控件的索引

  • childControl.NamingContainer=>
  • GridViewRow=>
  • RowIndex

例如在一个DropDownList.SelectedIndexChanged事件中:

protected void DropDownList1_SelectedIndexChanged(Object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList) sender;
    GridViewRow row  = (GridViewRow)  ddl.NamingContainer;
    int index        = row.RowIndex;
}

最后:既然你提到了“检查 selectedrow 索引”,如果你实际上是在寻找GridView自身的选定行索引,那么有一个属性就是为了这个:

于 2012-11-15T09:37:45.863 回答