DataGridView中DataGridViewComboBoxColumn的一些相关应用(一)让其值改变时触发事件_datagridview commitedit-程序员宅基地

技术标签: button  Form  object  

 今天在csdn回一个帖子的时候看到一个DataGridView问题,需要触发DataGridViewComboBoxCell中的事件才能够解决.

打开vs试了下没有找到能直接触发DataGridViewComboBoxCell中combobox的值改变的事件,郁闷了半天,仔细看MSDN上有解决示例,都怪自己没有仔细看:

首先需要触发第一个事件:CurrentCellDirtyStateChanged

并且在事件中调用DataGridView.CommitEdit 方法 [关于CommitEdit MSDN解释如下:将当前单元格中的更改提交到数据缓存,但不结束编辑模式。 ]

这样我们关心的那个事件CellValueChanged就能够被顺利触发了

调用下MSDN上面对这个解决方式所提供的源码仅供参考:)

 

// This event handler manually raises the CellValueChanged event
// by calling the CommitEdit method.
void dataGridView1_CurrentCellDirtyStateChanged(object sender,
    EventArgs e)
{
    if (dataGridView1.IsCurrentCellDirty)
    {
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}

// If a check box cell is clicked, this event handler disables  
// or enables the button in the same row as the clicked cell.
public void dataGridView1_CellValueChanged(object sender,
    DataGridViewCellEventArgs e)
{
    if (dataGridView1.Columns[e.ColumnIndex].Name == "CheckBoxes")
    {
        DataGridViewDisableButtonCell buttonCell =
            (DataGridViewDisableButtonCell)dataGridView1.
            Rows[e.RowIndex].Cells["Buttons"];

        DataGridViewCheckBoxCell checkCell =
            (DataGridViewCheckBoxCell)dataGridView1.
            Rows[e.RowIndex].Cells["CheckBoxes"];
        buttonCell.Enabled = !(Boolean)checkCell.Value;

        dataGridView1.Invalidate();
    }
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/atlasroben/article/details/2700567

智能推荐

图像平滑处理_图像平滑处理几种滤波器原理-程序员宅基地

文章浏览阅读2.8k次。文章目录一.均值滤波二.方框滤波三.高斯滤波四.中值滤波五.双边滤波2D卷积图像平滑处理,又叫做平滑滤波,或模糊滤波,能有效的过滤掉图像内部的噪声。其基本原理是图像像素点的值处理为邻域内其他像素点的均值。取近似的方法,即平滑滤波的方法多种多样。在空间滤波中,事先定义一个掩模,然后将掩模逐步移过像素点,掩模中心即当前像素点的值为掩模内所有像素点的值通过某种方式计算得到,掩模大小可以根据情况选择。但对于边界的点,由于其掩模有一部分在图像外围,所以此时要对其做一些特殊处理,常见的处理方法:(1)控制掩模,._图像平滑处理几种滤波器原理

jenkins调用shell脚本实现自动上线完整项目---此项目中用到了git parameter、choise parameter参数化构建(五)_jenkins shell脚本-程序员宅基地

文章浏览阅读1k次,点赞6次,收藏6次。利用jenkins自动部署完整项目1.环境规划主机ipJenkins192.168.81.220gitlab192.168.81.210lb192.168.81.230web01192.168.81.240web02192.168.81.2502.gitlab新建monitor项目2.1.配置Jenkins服务器公钥[root@jenkins ~]# cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EA_jenkins shell脚本

uni-app项目中使用scss语法_uniapp scss-程序员宅基地

文章浏览阅读3.7w次,点赞2次,收藏5次。如何在uni-app项目中使用scss语法。我的win7 64位系统最简单的方法如下:点击菜单栏中的“工具 – 插件安装 – scss/sass编译” 点击安装,如果成功了,就可以正常使用了。很不幸的是,我的提示失败了然后我又找到D:\HBuilderX\plugins\compile-node-sass插件目录,执行npm install,仍然提示失败:这里写自定义目录标题欢迎使用..._uniapp scss

【LocalDate的compareTo方法学习】_localdate compareto-程序员宅基地

文章浏览阅读1.9k次。LocalDate的compareTo方法学习_localdate compareto

Error: Cannot find module ‘D:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js_error: cannot find module 'd:\program files\nodejs-程序员宅基地

文章浏览阅读8.5k次。nodejs重新修复一下就可以了_error: cannot find module 'd:\program files\nodejs\node_modules\npm\bin\npm-

使用IPSET屏蔽美国IP_ipset封禁国外ip-程序员宅基地

文章浏览阅读387次,点赞6次,收藏8次。最近被美国IP盯上了,瞄的不间断攻击ADD-TO-CART页面。记录下用IPSET屏蔽过程。执行如下脚本,将IP地址段中的记录转换为Ipset指令,保存在。_ipset封禁国外ip

随便推点

占位式插件化一Activity的跳转_activity跳转 插件-程序员宅基地

文章浏览阅读329次。原理宿主APP安装在手机中的APP,并且通过该APP加载插件中的Activity插件APP没有安装的apk,通过宿主直接打开其内部Activity标准(协议)宿主APP和插件APP通信的桥梁。宿主APP通过一个空壳Activity(代理Activity)加载插件app中的Activity,实际上插件app中的Activity并没有入栈,也没法入栈,因为插件app没有安装,没有上下文和..._activity跳转 插件

PTA 剥洋葱(C语言 + 详细注释 + 代码超简单)_c语言pta怎么使用-程序员宅基地

文章浏览阅读1.0k次,点赞9次,收藏13次。输入格式:一行,一个整数,即图形的层数输出格式:如上述图形输入样例:3输出样例:AAAAAABBBAABCBAABBBAAAAAA//打印图形题关键是找规律,一般只需两重循环(行循环、列循环)#include<stdio.h>#include<string.h>int main() { int i, n; char ..._c语言pta怎么使用

docker配置国内镜像源_docker国内镜像源-程序员宅基地

文章浏览阅读3.3w次,点赞9次,收藏25次。刚开始学习docker,发现下载镜像非常的慢。如果不经过,docker的镜像下载都来源于国外,因此需要配置国内的镜像源。Docker中国区官方镜像。_docker国内镜像源

Unity中怎么播放视频_unity 播放视频-程序员宅基地

文章浏览阅读1.9w次,点赞40次,收藏209次。一.首先在场景中新建UI中的Raw Image可以按住Alt再点击下图红色箭头所示将Raw Image铺满游戏全屏(也可以自己调整大小)二.给Raw Image添加Video Player组件三.在Assets或者自己想要的文件夹中创建Render Texture四.将准备好的视频(这里用到的视频格式是mp4)拖入项目中并做如下修改这里我把新建的Render Texture命名为2,拖入的视频也命名为2(随便命的,不要在意)这里我们看到这个Render Te..._unity 播放视频

使用BOOTICE 恢复系统启动项_bootice保存后没用-程序员宅基地

文章浏览阅读9.7k次,点赞2次,收藏9次。使用BOOTICE 恢复系统启动项我在安装deepin 系统的时候,经常遇到重启进不去系统,每次重启都会进入windows 系统,这让我感到特别头疼,试了好多次都不成功,有些情况是,成功后再次重启又回到了windows系统。后来终于在PE中利用一款叫做BOOT ICE的工具成功解决。BOOTICE— 引导扇区维护工具简介BOOTICE 是一个启动相关的维护的小工具,主要用于安装、修复、备份和恢复磁盘_bootice保存后没用

文本分类与SVM_svm分类-程序员宅基地

文章浏览阅读9.5w次,点赞54次,收藏202次。之前做过一些文本挖掘的项目,比如网页分类、微博情感分析、用户评论挖掘,也曾经将libsvm进行包装,写了一个文本分类的开软软件Tmsvm。所以这里将之前做过一些关于文本分类的东西整理总结一下。1 基础知识1. 1 样本整理文本分类属于有监督的学习,所以需要整理样本。根据业务需求,确定样本标签与数目,其中样本标签多为整数。在svm中其中如果为二分类,样本标签一般会设定为-1和_svm分类