用户更改单元格值时要捕获的DataGridView事件
我有一个用C#编写的Winforms应用程序。
在我的一个DataGridViews中,我设置了所有列,除了一个名为’Reference’的列,ReadOnly = true;
我希望应用程序知道用户何时更改了“参考”列中的任何内容,但到目前为止我尝试过的所有事件都比用户进行更改时要多得多。 例如,CurrentCellChanged在最初呈现DataGridView时触发,并且每次用户只需单击行或标记行等。
我只对在’Reference’列中捕获用户对数据的更改感兴趣,该列是ReadOnly = false的唯一列;
哪个是最好的事件?
CellValueChanged
是你需要的:
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e){ if(dataGridView1.Columns[e.ColumnIndex].Name == "Reference"){ //your code goes here } }
我认为活动CellEndEdit
也适合您的需求:
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e){ if(dataGridView1.Columns[e.ColumnIndex].Name == "Reference"){ //your code goes here } }
DataGridView.CurrentCellDirtyStateChanged