asp.net在gridview中嵌套了一个gridview,怎样通过里面的gridview获得其所在外面的gridview的当前行索引
在嵌套的gridview2的RowCommand事件中的代码如下:/for(inti=0;i<GridView1.Rows.Count;i++)//{//GridView...
在嵌套的gridview2的RowCommand事件中的代码如下:
/for (int i = 0; i < GridView1.Rows.Count; i++)
//{
// GridView dg1 = (GridView)GridView1.Rows[i].FindControl("GridView2");
// for (int j = 0; j < dg1.Rows.Count; j++)
// {
// if ( j == Convert.ToInt32(e.CommandArgument))
// {
// GridView dg2 = (GridView)dg1.Rows[j].Cells[3].FindControl("GridView3");
// ImageButton ibt = (ImageButton)dg1.Rows[j].Cells[2].FindControl("ImageButton1");
// if (e.CommandName == "click")
// {
// //dg1.Rows[j].Cells[3].Visible = true;
// //dg1.Columns [3].Visible = true;
// dg2.Visible = true;
// ibt.ImageUrl = "~/Image/close.gif";
// ibt.CommandName = "click2";
// }
// if (e.CommandName == "click2")
// {
// dg2.Visible = false;
// ibt.ImageUrl = "~/Image/extended.gif";
// ibt.CommandName = "click";
// }
// }
// }
//}
我现在点击gridview2里面的按钮展开,gridview1中每一行的gridview2的第一行都展开了,我想要实现点击哪个按钮就实现哪个按钮后面的变更记录展开,求高手指导~ 展开
/for (int i = 0; i < GridView1.Rows.Count; i++)
//{
// GridView dg1 = (GridView)GridView1.Rows[i].FindControl("GridView2");
// for (int j = 0; j < dg1.Rows.Count; j++)
// {
// if ( j == Convert.ToInt32(e.CommandArgument))
// {
// GridView dg2 = (GridView)dg1.Rows[j].Cells[3].FindControl("GridView3");
// ImageButton ibt = (ImageButton)dg1.Rows[j].Cells[2].FindControl("ImageButton1");
// if (e.CommandName == "click")
// {
// //dg1.Rows[j].Cells[3].Visible = true;
// //dg1.Columns [3].Visible = true;
// dg2.Visible = true;
// ibt.ImageUrl = "~/Image/close.gif";
// ibt.CommandName = "click2";
// }
// if (e.CommandName == "click2")
// {
// dg2.Visible = false;
// ibt.ImageUrl = "~/Image/extended.gif";
// ibt.CommandName = "click";
// }
// }
// }
//}
我现在点击gridview2里面的按钮展开,gridview1中每一行的gridview2的第一行都展开了,我想要实现点击哪个按钮就实现哪个按钮后面的变更记录展开,求高手指导~ 展开
1个回答
展开全部
通过gridview2(里面的gridview)得到gridview1的索引:
通过点击事件,可以得到触发这个点击事件按钮。
//触发事件的按钮控件
Button btn = sender as Button;
//子gridview行
GridViewRow gv2_row = btn.NamingContainer as GridViewRow;
//通过子gridview行,得到子gridview
GridView gv2 = gv2_row.NamingContainer as GridView;
//通过子gridview,得到父gridview行
GridViewRow gv1_row = gv2.NamingContainer as GridViewRow;
//得到父gridview行的index
int index = gv1_row.RowIndex;
更多追问追答
追问
试了,获取不到值啊~
追答
你断点一下,看看哪个变量没有获取到。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询