如何获取gridview行的索引

时间:2012-11-15 09:35:05

标签: asp.net

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

编辑:

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

1 个答案:

答案 0 :(得分:18)

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

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;
}

最后:既然您已经提到了“来检查selectrow index”,那么您实际上是在寻找GridView本身的选定行索引,这里有一个属性: