private void DGV_DetailsViewer_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex.Equals())
{
DataGridViewCheckBoxCell cbx = (DataGridViewCheckBoxCell)this.DGV_DetailsViewer.Rows[e.RowIndex].Cells[e.ColumnIndex]; MessageBox.Show(cbx.FormattedValue.ToString());
}
}

用的 以上这段代码 读出来 的checkBoxCell的值始终 为 False, 原因 不明。

原因是 :CellContentClick 事件 并不能修改 CheckBoxCell的值,靠 这个事件 不行。

正确的做法 应该是 利用 CurrentCellDirtyStateChanged 事件 和 CellValueChanged 事件 的 组合 来完成 这个功能。代码如下:

//这个事件先执行,即使得 修改后的 checkboxcell的内容立刻生效,否则只有离开这个单元格时 才会生效。
private void DGV_DetailsViewer_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (DGV_DetailsViewer.IsCurrentCellDirty)
{
DGV_DetailsViewer.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
} //值修改后,就执行这个事件,想要实现的功能 在这个事件里实现
private void DGV_DetailsViewer_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= && e.RowIndex != - && !this.DGV_DetailsViewer.Rows[e.RowIndex].IsNewRow)
{ if (e.ColumnIndex.Equals())
{
DataGridViewCheckBoxCell cbx = (DataGridViewCheckBoxCell)this.DGV_DetailsViewer.Rows[e.RowIndex].Cells[e.ColumnIndex]; MessageBox.Show(cbx.FormattedValue.ToString());
}
}
}

最新文章

  1. 51Nod-1279 扔盘子
  2. c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行
  3. 【POJ 3176】Cow Bowling
  4. hdu 5492 Find a path(dp+少量数学)2015 ACM/ICPC Asia Regional Hefei Online
  5. HDU 5809 Ants(KD树+并查集)
  6. [置顶] js操作iframe兼容各种浏览器
  7. [C#] 使用 StackExchange.Redis 封装属于自己的 Helper
  8. Mybatis源码之Statement处理器PreparedStatementHandler(五)
  9. linux之间免密操作
  10. CImage的坑
  11. nginx之location的匹配规则
  12. FFT是个啥?
  13. POJ 2578
  14. Node.js实战(九)之事件循环
  15. 快速切题 poj1573
  16. FT项目开发技术点(四)
  17. xmppframework 简介
  18. Boost学习之语法解析器--Spirit
  19. PHP上传文件类 代码练习
  20. (wifi)wifi移植之命令行调试driver和supplicant

热门文章

  1. liunx php-fpm
  2. Carryon 数数字
  3. HDU - 3336 next运用+递推
  4. vue 同一个组件的跳转, 返回时保留原来的下拉位置
  5. 原生js操作类名
  6. [转] DOS命令for用法详解
  7. java中的线程(2):如何正确停止线程之3种常见停止方式
  8. Google Authenticator(谷歌身份验证器)
  9. Apache Beam的目标
  10. NPOI之C#下载Excel