转】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,如需转载请自行联系原作者

相关文章
下拉选择select和复选框checkbox的状态的各种方式
复选框的状态 或者(checked=true) 或者    下拉框状态    或者 (selected=true)或者   默认选择状态: $("#sl").find("option:first").
1120 0
dbgrideh 中checkbox列,灰色状态时处理从未选中状态
查看ehgrid源码 procedure TCustomDBGridEh.DefaultDrawColumnCell(const Rect: TRect;  DataCol: Integer; Column: TColumnEh; State: TGridDrawState);     .
916 0
隐藏el-table-column过多的内容并进行浮窗展示
隐藏el-table-column过多的内容并进行浮窗展示
隐藏el-table-column过多的内容并进行浮窗展示
|
JavaScript BI
el-table 多表格弹窗嵌套数据显示异常错乱问题
## 1、业务背景 使用vue+element开发报表功能时,需要列表上某列的超链接按钮弹窗展示,在弹窗的el-table列表某列中再次使用超链接按钮点开弹窗,以此类推多表格弹窗嵌套,本文以弹窗两次为例 最终效果如下示例页面 ![微信截图_20231110143638.png](https://ucc.alicdn.com/pic/developer-ecology/j2ygdazy447va_6eb0201441bc40a4b5bda9a7e573f0d2.png)
255 0
|
Web App开发 移动开发 JavaScript
实时监听输入框值变化的完美方案:oninput & onpropertychange
  在 Web 开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown、onkeypress、onkeyup 这个几个键盘事件来监测的话,监听不了右键的复制、剪贴和粘贴这些操作,处理组合快捷键也很麻烦。
1316 0
EasyUI combobox选中项变化事件存在的问题
本文目录 1. 背景 2. 写法 3. 实际存在的问题
437 0
|
JavaScript
radio被选中,但是重复点击后事件不触发
网上找了好多帖子,都没用,在百度知道发现以下答案 知识点:使用 jq的prop才能设置 html $('.ss').click(function(){ $(this).
1271 0
|
JavaScript 前端开发
javascript改写 <select>checked的选中,并不会出发change事件,太好了!
测试select标签的分别用程序checked、用户手动checked 第一级菜单: 请选择 料件L 成品P 第二级菜单: 请选择 ...
898 0