2

我有一个自定义 datagridviewcolumn,一个托管在单元格中的自定义控件。我想以编程方式退出编辑模式并验证单元格中的当前值(这个值是正确的)。我检查了以下方法但没有成功:

this.datagridview.currentCell.datagridview.endEdit()
this.EditingControlDataGridView.endEdit()
this.datagridview.endEdit();

还通过强制当前单元格更改:

this.datagridview.currentCell = this.datagridview.Rows[rowIndex].Cells[columnIndex]

我需要以编程方式强制提交单元格中的挂起值,因为例如,在某些情况下我需要删除一行 datagridview 但由于单元格(在被删除的同一行中)处于编辑模式,我不能这样做如果我之前没有为单元格提交更改并退出编辑模式。

此外,当我想退出编辑模式时,我有类似的奇怪行为,但在这种情况下,丢弃单元格中的更改:根据我的应用程序的状态,有时这样做 this.datagridview.CancelEdit() 有效,有时无效。

使用 C#、.NET Framework 4.0、WinForms。

4

1 回答 1

0

添加此代码

Application.DoEvents();

强制事件触发:

于 2013-12-09T14:59:04.227 回答