在DataGridView中获得DataGridViewCheckBoxColumn的状态

王朝other·作者佚名  2006-12-10
宽屏版  字体: |||超大  

当我们选中该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;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有