我有一个用 C# 编写的 Winforms 应用程序。
在我的一个 DataGridView 中,除了一个名为“Reference”的列之外,我已将所有列设置为 ReadOnly = true;
我希望应用程序知道用户何时更改了“引用”列中的任何内容,但到目前为止我尝试过的所有事件都比用户进行更改时触发的次数多得多。例如,CurrentCellChanged 在最初呈现 DataGridView 时触发,并且每次用户只需单击或沿行切换等。
我只对捕获用户对“引用”列中数据的更改感兴趣,该列是 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
}
}
关于c# - 当用户更改单元格值时要捕获的 DataGridView 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19537784/