DataGridViewCheckBoxColumn的勾选框勾上了,Value却是false

private void dgvWebSiteOrder_CellClick(object sender, DataGridViewCellEventArgs e)
        {
          //此事件里面不能获取          if (row.Cells[this.colSelect.Name].Value != null && row.Cells[this.colSelect.Name].Value.ToString() == "1") 
        }
  private void dgvLinkOrderList_CellContentClick(object sender, DataGridViewCellEventArgs e)  {         //此事件里面不能获取         if (e.ColumnIndex < 0 || e.RowIndex < 0)
            {
                return;
            }       }
//此事件里面可以获取 private void dgvWebSiteOrder_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            List<DataGridViewRow> selectRows = new List<DataGridViewRow>();
            //点击的是第一列。
            if (e.ColumnIndex == 0)
            {
                foreach (DataGridViewRow row in this.dgvWebSiteOrder.Rows)
                {
                    if (row.Cells[this.colSelect.Name].Value != null && row.Cells[this.colSelect.Name].Value.ToString() == "1")
                    {
                        selectRows.Add(row);
                    }
                }
            }
            DgvSelectRows = selectRows;
        }

本文转载http://www.cnblogs.com/gossip/archive/2008/12/02/1346047.htmldatagridview的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列单元格
                DataGridViewCheckBoxCell dgvCheckBoxCell = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewCheckBoxCell;//获得checkbox列单元格
                dgvButtonCell.ToolTipText = dgvCheckBoxCell.Value.ToString();//赋值
            }
        }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(45)-工作流设计-设计步骤

步骤设计很重要,特别是规则的选择。 我这里分为几个规则 1.按自行选择(在起草时候自行选审批人,比较灵活) 2.按上级(无需指定,当时需要知道用户的上司是谁,可...

25470
来自专栏DeveWork

丰富排版页面——为你的wordpress主题添加短代码形式美化框

相信有些wordpresser知道这个东东,在一些主题上这是标配,如deve主题、iartwork主题。原理大概是通过wordpress本身的短代码功能,事先在...

39360
来自专栏静晴轩

Html<a>标签href的困惑记载

近日,在工作中遇到一个小问题(给手游平台做些网页活动,其中牵涉到一个按钮链接,就习以为常的用了<a>标签,Click响应之后走一段js代码逻辑-弹出一个分享微信...

48150
来自专栏糊一笑

模拟制作网易云音乐(AudioContext)

记得好早前在慕课网上看到一款可视化音乐播放器,当前是觉得很是神奇,还能这么玩。由于当时刚刚转行不久,好多东西看得稀里糊涂不明白,于是趁着现在有时间又重新梳理了一...

49150
来自专栏伪君子的梦呓

推荐几个油猴脚本

油猴,也就是 Tampermonkey 是我每一台电脑都会安装的东西,也是我会给熟人介绍和安装的东西。没什么好说的,就是好用。

5.2K20
来自专栏李成熙heyli

性能优化三部曲之三——Node直出让你的网页秒开

项目: 手Q群成员分布直出 原因: 为家校群业务直出做准备 群成员分布业务是小型业务,而且逻辑相当简单,方便做直出试验田 基本概念: 直出其实并不算是新概念。只...

77170
来自专栏用户2442861的专栏

如何评价 GitHub 发布的文本编辑器 Atom?

https://www.zhihu.com/question/22867204#answer-31728806

19920
来自专栏IT大咖说

2018年前端流行哪些技术?

29710
来自专栏我是极客人

入坑小程序

最近在学习微信小程序,极客人总结了一些入门经验,希望能帮助想学习小程序的同学提供参考

16220
来自专栏小文博客

Stay主题——WordPress精品主题分享

29930

扫码关注云+社区

领取腾讯云代金券