编辑时回滚datagridview的旧值

Rollback old value of datagridview when editing

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

CellValidating事件中,我使用了:

e.Cancel = true;

但值没有回滚 我该怎么做?

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

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

编辑:或者将上面的代码替换为下面的代码行。这具有不丢失数据类型和取消添加 NewRow(如果已添加)的进一步优势。

this.dataGridView1.CancelEdit();