日期:2014-05-19  浏览次数:20390 次

关于gridview与checkbox的一个问题
我如何通过点击gridview中的checkbox(通过模板列添加的)
得到gridview中其他列的值去赋给一个变量(不要在gridview进行循环查找(记录多,效率太低))。
在如下函数中添加
protected   void   CheckBox1_CheckedChanged(object   sender,   EventArgs   e)
        {
                    判断点击行
                    从点击行得到第一列的值付给某个变量
        }

------解决方案--------------------
是不是这样可以做,设置一个TabIndex
<asp:CheckBox ID= 'CheckBox1 ' runat= "server " TabIndex= ' <%#((GridViewRow)Container).RowIndex%> ' />

然后在
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
//判断点击行
// 从点击行得到第一列的值付给某个变量
....
GridView1.Rows[((CheckBox)sender).TabIndex].FindControl( "... ")
...
}



------解决方案--------------------
CheckBox cb = (CheckBox)sender;
GridViewRow gvr = ((GridViewRow)cb.Parent.Parent);
this.GridView1.Rows[gvr.RowIndex].Cells[1].Text = "asdf ";