DataGridVie编辑 有一列DataGridViewCheckBoxColumn要取得这个check是true还是false应该在哪个事件里?所有的事件都试过了...不好用...大部分事件都只是当焦点离开这个格时才进行验证 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DataGridView.CellContentClick 事件 在单元格中的内容被单击时发生。 DataGridView.CellContentClick 事件 CellContentClickhttp://www.cnblogs.com/guozhiming2003/archive/2008/07/01/1233345.html 我试了,得出来的是null必须是离开这个格[1],然后才能读到值,就是我点了格[2]后,才能得到[1]的值 cellclick不是点击单元格的时候发生么?你可以看看这里http://msdn.microsoft.com/zh-tw/library/e0ywh3cz.aspx 事件的顺序哪可能是我决定啊反正,是CellContentClick 没取到想要的东西 确实是在 CellContentClick 事件里,只不过你要在第一句加上 DataGridView.EndEdit();呵呵~~接分~~~~ 如果只是要知道checkbox的状态的话遍历一遍不就可以了 foreach (DataGridViewRow DGR in DGV.Rows){ if (DGR.Cells[checkbox所在列].FormattedValue.ToString().ToLower() == "true") //该checkbox被选中} 如果是要捕捉 CheckBox ( DataGridViewCheckBoxCell ) 列的状态改变 的话可以这样如果嵌入的 DataGridViewCheckBoxCell 列在第一列,判断状态并添加处理事件可以为: private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0 && e .RowIndex != -1) { //获取控件的值 MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].Cells[0].EditedFormattedValue.ToString()); //或者可以做其他事件处理程序 }}需要注意的是执行此事件是需要屏蔽其他datagridview单元格的cellcontentclick事件 ,即让除了 DataGridViewCheckBoxCell 列之外的所有列的ReadOnly=True; 在获取datagridview中checkbox列的值得时候 一定要用 EditedFormattedValue属性,此属性获取的是编辑以后数值 而value 和FormattedValue返回的往往是编辑以前的数值,而其重复单击的时候往往会出现错误(无法确定是编辑前还是编辑后的数值: 主要原因是焦点问题,需要先移动焦点使datagridview获取更改后的数据在区获取他 就没有问题了,所以以后用去获取数据前先要移出datagridview中的焦点!!!),所以一定要用EditedFormattedValue来获取属性值 http://www.cnblogs.com/huomm/articles/1106302.html NPIO操作Excel文件。 从指定位置开始读文本 实现记事本中设置字体及背景后保存到文件,下次打开记事本时字体和背景默认使用上次设置的值 filenotfoundexception access查询1天时间段内的数据 datagridview可以空行吗 一个关于DataGrid的奇怪问题 关于透明窗体的问题,再发一贴 ae的The operation was attempted on an empty geometry. 关于存储过程的问题: c# 跨窗口传值 win窗口程序 动态继承 怎样调用不在接口里的方法
DataGridView.CellContentClick 事件
http://www.cnblogs.com/guozhiming2003/archive/2008/07/01/1233345.html
没取到想要的东西
呵呵~~接分~~~~
foreach (DataGridViewRow DGR in DGV.Rows)
{
if (DGR.Cells[checkbox所在列].FormattedValue.ToString().ToLower() == "true")
//该checkbox被选中
}
可以这样如果嵌入的 DataGridViewCheckBoxCell 列在第一列,判断状态并添加处理事件可以为: private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && e .RowIndex != -1)
{
//获取控件的值
MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].Cells[0].EditedFormattedValue.ToString());
//或者可以做其他事件处理程序 }
}需要注意的是执行此事件是需要屏蔽其他datagridview单元格的cellcontentclick事件 ,即让除了 DataGridViewCheckBoxCell 列之外的所有列的ReadOnly=True; 在获取datagridview中checkbox列的值得时候 一定要用 EditedFormattedValue属性,此属性获取的是编辑以后数值 而value 和FormattedValue返回的往往是编辑以前的数值,而其重复单击的时候往往会出现错误(无法确定是编辑前还是编辑后的数值: 主要原因是焦点问题,需要先移动焦点使datagridview获取更改后的数据在区获取他 就没有问题了,所以以后用去获取数据前先要移出datagridview中的焦点!!!),所以一定要用EditedFormattedValue来获取属性值 http://www.cnblogs.com/huomm/articles/1106302.html