目前我正在使用this.EndInvoke(this.BeginInvoke(new MethodInvoker( this.resortRows )));
调用检查空单元格然后对 DGV 进行排序的方法。但我是从 CellEndEdit 调用它的。
如果通过按 Enter 或 Tab 调用事件,一切正常,但如果我在仍处于 EditMode 时单击另一个单元格,我会在使用排序命令的行出现错误:
Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function.
这是排序命令:
this.dataGridView1.Sort(this.dataGridView1.Columns[2], ListSortDirection.Ascending);
我试图MouseClick
像这样处理这个事件:
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
this.dataGridView1.EndEdit();
}
但这只有在我单击 DGV 内部的灰色区域(不在任何单元格或标题上)时才有效。我怎样才能解决这个问题?