如何获取gridview行的索引

Raj*_*lar 9 asp.net

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

编辑:

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

Tim*_*ter 18

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

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

您可以通过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;
}
Run Code Online (Sandbox Code Playgroud)

最后:既然你已经提到"检查selectrow索引",如果你实际上在寻找GridView自己选择的行索引,那么就有一个属性: