请教一个关于GridView里面操作CheckBox的问题,代码如下不知道那里错了!
问题:当点击更新的的时候,系统说我的索引超出集合,不能操作
for (int i = 0; i <= GridView_Result.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView_Result.Rows[i].FindControl( "CheckBox1 ");
if (cbox.Checked == true)
{
string sqlstr = "update ass.db_user set state=1 where userid= ' " + GridView_Result.DataKeys[i].Value + " ' ";
sqlcom = new AsaCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
}
------解决方案--------------------GridView_Result.DataKeys[i] 这个有问题吧,可能是因为有头部或者导航的原因
先判断一下if (e.Row.RowType == DataControlRowType.DataRow)
------解决方案--------------------用foreach(DataRow dr in GridView1.Rows)吧