【发布时间】:2010-08-26 10:23:04
【问题描述】:
当我对 DataGrid 中的一列(单击标题列)进行排序时,UI 上的更改(行顺序)是否反映回数据源?我使用 List 对象作为源。
【问题讨论】:
标签: datagrid wpftoolkit
当我对 DataGrid 中的一列(单击标题列)进行排序时,UI 上的更改(行顺序)是否反映回数据源?我使用 List 对象作为源。
【问题讨论】:
标签: datagrid wpftoolkit
不,UI 排序对数据没有影响。
还有另一种方法可以直接对数据进行排序(实际上是数据的表示),但是将其连接到正常的 UI 功能(单击标题进行排序)可能会涉及更多内容,并且还有其他一些缺点:将集合包装在 ICollectionView(例如 ListCollectionView)中,并使用 SortDescriptions 或自定义排序谓词对项目进行排序; ICollectionView 将位于源集合和 UI 之间,您可以从中获取已排序的项目。
此外,您也可以直接对源集合进行排序(手动或使用可排序集合),但同样,您需要将数据网格标题连接到排序代码,这意味着类似于拦截点击标题事件和为排序提示绘制适当的字形等。
【讨论】: