当我们选中该cell后,第1时间得到的该值为:
dgview1.rows(i).cells(1).value = false
不过在datagridview.currentcelldirtystatechanged事件中增加以下语句:
datagridview.commitedit
该事件的意思是:单元格状态因其内容更改而更改是发生
commitedit :将当前单元格中的更改提交到数据缓存,但不结束编辑模式
引自msdn:
通常,复选框单元格值专门用于存储(如同其他任何数据一样)或用于执行批量操作。如果您想在用户单击复选框单元格时立即作出响应,可以处理 datagridview.cellclick 事件,但此事件发生在单元格值更新之前。如果在单击时需要新的值,则有一个选项可以计算基于当前值的预期值。另一种方法是立即提交更改,并处理 datagridview.cellvaluechanged 事件以对此作出响应。要在单击单元格时提交更改,必须处理 datagridview.currentcelldirtystatechanged 事件。在处理程序中,如果当前单元格是复选框单元格,将调用 datagridview.commitedit 方法并传入 commit 值。
for (int i = 0; i < dg_tixing.rowcount; i++)
{
string re_value = dg_tixing.rows[i].cells[0].editedformattedvalue.tostring();
if (re_value=="true")//判断勾选的
{
t_kechengtixing kc = new t_kechengtixing();
kc.course_id = pk_course;
kc.tixing_id = int32.parse(dg_tixing.rows[i].cells[1].value.tostring());
t_kechengtixingcontrol kcc = new t_kechengtixingcontrol();
kcc.add(kc);
flag = true;
}
else
{
continue;
}
}
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


