DataGridView.Row更改

问题描述:

我有一些使用DataGridView的问题。我想要做的是在DataGridView中编辑一些数据,以这种方式验证数据以及它是否正确以确保安全,并且如果不将它恢复到以前的状态。我在做什么是:DataGridView.Row更改

  • 使用Cell.Enter事件这样我就可以安全dataGridView.CurrentRow.DataBoundItem为对象1编辑当前单元格之前。

  • 使用Cell.Leave事件,我检查此单元格中的数据是否与预期一致。在这里我有一些麻烦。如果我这样做,甚至处理程序在第二个Cell.Leave上激活,如果我添加DataGridView.EndEdit()对象1更新与当前值。

一切工作正常,如果验证是真实的。

试图克隆我的对象(不知道如果我做对了),没有工作。

没有必要做所有你正在做的事情。 DataGridView内置支持验证,接受有效数据并拒绝无效条目。

只需使用DataGridView的CellValidating事件并在其中执行验证逻辑即可。如果输入数据未通过测试,您可以将e.Cancel设置为True,并且单元格将恢复为原始值。