在我們的WinForm應用程序之一中,我們使用了啓用了列排序和SortDescriptions的DataGridView。DataGridVeiw(WinForm) - 確定何時對行進行了重新排序
如果用戶修改其中一個正在排序的單元格,則應用排序,並且網格按新順序繪製行。
我需要訪問DataGridRows之前,他們被繪,但他們已被排序後。我知道我可以使用DataGridView.RowPrePaint(),但這似乎是矯枉過正。當鼠標懸停在某些單元格上時,它會觸發。我只需要在排序發生變化時進入行。我想也許我可以處理DGV上的「Sorted」事件,但只有在用戶單擊某個列標題後纔會觸發,但當DGV應用任何現有的列排序或SortDescriptions時,我需要到達行。基本上,行可以重新排序(自動排序)後,其中一個單元格編輯DGV排序或行後,通過RowEdit「模板」變性。
我今天在google上搜索了很多,並沒有提出任何建議。
有什麼建議嗎? (除了處理DataGridView.RowPrePaint事件....)
這就是問題。 「排序」事件不會在發生「自動排序」時觸發(我在文章中說「排序」,但我的意思是「排序」,只有當用戶第一次點擊列標題時纔會觸發。在行被採用之後觸發(由於列更改或新行被插入),但在繪製Grid之前。 – Shayne 2011-04-03 18:45:05