【发布时间】:2010-12-09 15:37:22
【问题描述】:
我重写了 ListCollectionView 以仅延迟加载显示所需的项目。
我在 DataGrid 中使用这个 ListCollectionView 来显示和编辑项目。
这很好用,就像它应该的那样。
我的问题:我希望用户能够通过单击标题列对 DataGrid 进行排序。由于我仅在需要时才延迟加载项目,因此 ListCollectionView 在对尚未加载的项目进行排序方面做得不好。
解决此问题的一种方法是加载所有项目,但我不想这样做,因为这可能会在可观的时间内加载太多项目。
相反,我想收到通知并告诉我的(远程)数据源将预先排序的项目交给我。
有没有一种简单的方法可以拦截 DataGrid 或(更好的)ListCollectionView 中的排序并自己做,不知何故?
【问题讨论】:
-
.. 正如我在您创建的其他主题中所说:我认为,您需要先探索ListCollectionView,因为它能够适应程序员通常希望在其应用程序中实现的大多数场景。最有可能的是,您不需要派生此类来执行延迟加载。您可以改用过滤器,还有其他方法可以进行延迟加载,而无需派生类。
-
从云服务加载 400000 个项目以在客户端上进行过滤并不是我可以使用的解决方案 :)
-
但是你可能是对的,我需要更多关于 ListCollectionView 的信息 - 我愿意提供任何信息或解释它的体面来源,到目前为止我没有运气,这就是我问的原因。
标签: wpf sorting datagrid listcollectionview