在我们的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