编辑时回滚datagridview的旧值

时间:2015-03-27 16:54:45

标签: c# winforms datagridview

我有datagridview1。当用户编辑单元格值时,我想检查数据的验证。如果无效,则将单元格值回滚到旧值。

CellValidating事件中,我使用了:

e.Cancel = true;

但是值没有回滚 我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

设置e.Cancel = true只是取消退出编辑,强制用户编辑当前单元格直到它有效。而是允许编辑发生,但将值重置为原始值。用以下内容替换您发布的代码行:

dataGridView1.EditingControl.Text = dataGridView1.CurrentCell.Value.ToString();

编辑:或者只需用以下代码行替换上面的内容。这样做的另一个好处是不会丢失数据类型,如果添加了NewRow,则取消this.dataGridView1.CancelEdit(); 的添加。

{{1}}