转】datagridview的checkbox列,当修改checkbox状态时实时获得其准确状态值

简介:

不知道大家有没有这样的经验,当点击或者取消datagridview的checkbox列时,比较难获得其状态是选中还是未选中,进而不好进行其它操作。网上方法有不少可是总是效果差强人意。

下面就列出它的个人认为较完美的解决办法:

主要用到了datagridview的CurrentCellDirtyStateChanged和CellValueChanged两个事件

CurrentCellDirtyStateChanged事件是提交对checkbox状态的修改

CellValueChanged事件是当状态提交后,也就是单元格值改变后做一些其它的操作,这里是将checkbox列的true或false状态作为tooptiptext属性设置到同一行的button列

CurrentCellDirtyStateChanged事件代码 :

复制代码
private   void  dataGridView1_CurrentCellDirtyStateChanged( object  sender, EventArgs e)
{
  if  ( this .dataGridView1.IsCurrentCellDirty)  // 有未提交的更 //
  {
    
this .dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
  }
}
复制代码

CellValueChanged事件代码 :

复制代码
private   void  dataGridView1_CellValueChanged( object  sender, DataGridViewCellEventArgs e)
{
  
if  ( this .dataGridView1.Columns[e.ColumnIndex].Name.Equals( " gender " ))
  {
    DataGridViewButtonCell dgvButtonCell 
=   this .dataGridView1.Rows[e.RowIndex].Cells[ " btn " as  DataGridViewButtonCell; // 获得button列单元格
     dgvButtonCell.ToolTipText  =  dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); //获得checkbox列单元格的值并 赋值
  }
}
复制代码

转自:http://www.cnblogs.com/gossip/archive/2008/12/02/1346047.html




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/12/10/1902532.html,如需转载请自行联系原作者

相关文章
隐藏el-table-column过多的内容并进行浮窗展示
隐藏el-table-column过多的内容并进行浮窗展示
隐藏el-table-column过多的内容并进行浮窗展示
|
9月前
|
Web App开发 小程序 Android开发
Uniapp from 表单组件 多层选择 开关 评分 滑块 步进器 日期框 级联选择 下拉列表 复选框 单选框 多行文本 单行文本 textarea radio checkbox picker
Uniapp from 表单组件 多层选择 开关 评分 滑块 步进器 日期框 级联选择 下拉列表 复选框 单选框 多行文本 单行文本 textarea radio checkbox picker
124 0
|
7月前
Element UI【级联选择器】el-cascader 获取选中内容的 label 数据,鼠标悬浮显示超长内容
Element UI【级联选择器】el-cascader 获取选中内容的 label 数据,鼠标悬浮显示超长内容
880 3
|
7月前
Element UI 多选表格--判断勾选数据行的 Checkbox 时为选中还是取消选中
Element UI 多选表格--判断勾选数据行的 Checkbox 时为选中还是取消选中
121 1
|
JavaScript
checkbox选中和取消,控制dom元素颜色变化
checkbox选中和取消,控制dom元素颜色变化
79 0
|
缓存 JavaScript 前端开发
el-table 列的动态显示与隐藏
当我们在对表格数据查看的时候,可能某些列的数据是当前想要重点关注的,而某些列并不需要展示出来,我们就可以通过对表格的列进行实时的一个切换去实现动态的显示与隐藏。
Element 表格组件 el-table 列排序自动变化
本文目录 1. 现象 2. 解决 3. 附加方案
683 0
EasyUI combobox选中项变化事件存在的问题
本文目录 1. 背景 2. 写法 3. 实际存在的问题
436 0

热门文章

最新文章