单击 Datagrid ColumnHeader 时 - 如何进行排序?以及如何覆盖它?
当单击 DataGrid ColumnHeader 时,如果基础数据源是 CollectionView,则数据网格将自动对数据进行排序。
它的内部是如何工作的,它只是将 SortDescriptors() 添加到 View 中以便排序还是利用 IComparer 类?
我认为它宁愿使用 SortDescriptors,因此排序速度很慢。
我做了一些研究,它说使用
CollectionView.CustomSort = 实现 IComparer 的类是更快的方法。
因此,为了尝试这种方法,我如何覆盖 DataGrid 的自动排序机制(当单击列标题时)并使用 CustomSort 进行自己的排序?
对此的任何帮助都将受到高度赞赏。
When clicking on a DataGrid ColumnHeader, the datagrid would automatically sort the data, if the underlying dataSource is a CollectionView.
How does it work internally, does it just add SortDescriptors() to the View in order to sort or does it utilize an IComparer class?
I think its rather using SortDescriptors, hence its so slow in sorting.
I have done some research and it says using
CollectionView.CustomSort = a class implementing IComparer
is much faster approach.
So in order to try this approach, how do I override the automatic sorting mechanism of DataGrid - when clicked on a columnheader - and do my own sorting with the CustomSort?
Any help on this is highly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用排序事件将为您提供他们用于排序的列以及方向。
You can use the Sorting Event which will give you the Column they are using to sort and in which direction.