C# dataGridView_CellValueChanged事件
C# 输入完以后立即更新缓冲区(DataGridView CheckBox列checked变化后就触发CellValueChanged事件)
在DataGridView添加如下的事件( CurrentCellDirtyStateChanged)
private void dataGridView_CurrentCellDirtyStateChanged(object sender, EventArgs e) { //添加下面的代码后,你用鼠标点击CheckBox列的check变化后触发CellValueChanged事件 if (this.dataGridView.CurrentCell.ColumnIndex == 0) { this.dataGridView.CommitEdit(DataGridViewDataErrorContexts.Commit); } }
注意还有一个问题:
添加DataGridViewCheckBoxColumn列后,网上有说点击check后状态不改变的问题。
我的经验:
1、DataGridView必须选择Eable Editing,否则你点击check状态不变
2、DataGridViewCheckBoxColumn的ReadOnly设置为false