1
在我使用this.EndInvoke(this.BeginInvoke(new MethodInvoker(this.resortRows)));
調用,檢查空細胞的方法此刻排序呼叫,然後排序DGV。但我從CellEndEdit調用它。如果該事件由按Enter鍵或Tab稱爲C#的DataGridView - 從CellEndEdit事件
一切工作正常,但如果我點擊另一個單元,同時仍然在編輯模式下,我得到與sort命令行錯誤:
Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function.
這是sort命令:
this.dataGridView1.Sort(this.dataGridView1.Columns[2], ListSortDirection.Ascending);
我試圖喊得的MouseClick
事件是這樣的:
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
this.dataGridView1.EndEdit();
}
但是,只有當我在灰色區域內單擊DGV時(不在任何單元格或標題上),此功能纔有效。 我該如何解決這個問題?
,這意味着我不得不重寫我一半類。 :( 反思一切。 – Qsiris 2012-08-03 09:22:47
這並不自動排序,它只是顯示一個小三角形表明排序方向。 – Qsiris 2012-08-03 09:28:50
奇怪,我的作品......只要我編輯一個單元格的列被自動排序... – digEmAll 2012-08-03 11:50:57