DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件

正常响应CellValueChanged()事件时,当改变checkbox状态时,只有当焦点离开该单元格时才能触发CellValueChanged()事件,

如果要改变checkbox值时实时触发CellValueChanged()事件,需要借用CurrentCellDirtyStateChanged()事件来提交未提交控件的更改。

        private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)        {            if (dataGridView1.IsCurrentCellDirty)            {                dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);            }        }

这样CellValueChanged()事件就可以随着checkbox的值的改变实时触发;

        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)        {            if (e.RowIndex >= 0 && e.RowIndex != -1 && !dataGridView1.Rows[e.RowIndex].IsNewRow)            {                if (e.ColumnIndex == 7)                {                    if ((bool)this.dataGridView1[e.ColumnIndex, e.RowIndex].Value == true)                    {                        this.dataGridView1[1, e.RowIndex].Value = 100;                    }                    else                    {                        this.dataGridView1[1, e.RowIndex].Value = 10;                    }                }            }            this.toolStripStatusLabel1.Text = e.ColumnIndex.ToString() + "," + e.RowIndex.ToString();

        }

时间: 2025-01-12 06:25:11

DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件的相关文章

用事件冒泡实现在div内点击,不触发事件,当在div外点击时才触发事件

讲解 http://caibaojian.com/javascript-stoppropagation-preventdefault.html 使用案例 在div内点击,不触发 一个事件,当在div外点击时才触发事件. 这比按钮节流和缓冲都要好的多 自己使用的是一个form控件中的输入不触发,当输入完点击其他地方时触发计算,将结果赋值给form中不可编辑的控件中. 具体代码: function div10_onClick(event) { //点击#Click时要阻止冒泡,否则.pop是不显示的

JS对输入判断变化屏蔽中文输入法输入时连续触发事件的方法

<input type="text" onfocus="filter_time()" value="xxx" id="wd"> <script> var str = ''; var now = '' function filter_time() { var time = setInterval(filter_staff_from_exist, 100); $(this).bind('blur', fun

input标签内容改变的触发事件

1. onchange事件与onpropertychange事件的区别: onchange事件在内容改变(两次内容有可能相等)且失去焦点时触发:onpropertychange事件是实时触发,每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件是IE专有. 2. oninput事件与onpropertychange事件的区别: oninput事件是IE之外的大多数浏览器支持的事件,在value改变时实时触发,但是通过js改变value时不会触发:onpropertychange事

关于Input内容改变的触发事件

1.onchange onchange 事件会在域的内容改变时触发.支持的标签<input type="text">, <textarea>, <select>,<keygen>. 注意:在元素的值改变了且失去焦点时触发(两次的值一样不会触发). 缺陷:通过js代码改变DOM的值不会触发,解决在js代码里改值了调用其change 的function() 或者调.change()方法. JS: 1 <input type="

input 内容改变的触发事件

1. onchange onchange 事件会在域的内容改变时触发.支持的标签<input type="text">, <textarea>, <select>,<keygen>. 注意:在元素的值改变了且失去焦点时触发(两次的值一样不会触发). 缺陷:通过js代码改变DOM的值不会触发,解决在js代码里改值了调用其change 的function() 或者调.change()方法. JS: <input type="t

深入A标签点击触发事件而不跳转的详解

本文介绍下,当点击A标签时,触发事件但不跳转的实现方法,有需要的朋友参考下吧. 点击页面上的空链接,点击后页面自动刷新,并会定位到页面顶端. 不过,有时需要点击#页面但不作跳转,可以这样写: <a href="#2">脚本学堂---网站编程</a> 在#后加上点别的东西即可,这样就不会链到别的页面,也不会刷新定位到顶端了. 附,A标签点击触发事件但不跳转的实现方法. 在a标签中有点击事件:1. a href="javascript:js_method(

JAVA实现延时过期MAP 支持自定义过期触发事件

如题,直接上代码: 1 import java.util.Iterator; 2 import java.util.concurrent.ConcurrentHashMap; 3 import java.util.concurrent.TimeUnit; 4 5 import org.slf4j.Logger; 6 import org.slf4j.LoggerFactory; 7 8 /** 9 * 实现延时过期MAP集合 支持自定义过期触发事件 10 * 11 * @ClassName: B

C#中窗口关闭时没有取消事件订阅导致事件重复执行的解决方法

场景 C#中委托与事件的使用-以Winform中跨窗体传值为例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700 参考上面的博客. 现在是在主页面点击按钮时弹出窗体,在窗体的load事件中进行事件的订阅,然后关闭窗体,再次打开时执行触发事件后, 订阅的事件就会执行两次,依次类推. 这是因为在窗体关闭的时候没有将原来的事件订阅解除掉. 注: 博客主页: https://blog.csdn.net/badao_l

DataGridView中DataGridViewComboBoxColumn的一些相关应用(一)让其值改变时触发事件-转

转自 https://maodaili.de/mao.php?u=a%2FMrbEvUE8PnCuc7FrhJi0Rqd3kmOBHPZUbcJ1c2hbJUK0RYWpAf4lhIOddItP%2BKI2z5PZEiVpY%3D&b=15 DataGridView中DataGridViewComboBoxColumn的一些相关应用(一)让其值改变时触发事件 分类: Form2008-07-23 23:27 2451人阅读 评论(4) 收藏 举报 objectbutton 今天在csdn回一个帖