Xceed DataGrid - 是否可以制作 'partial sorting'?
Xceed DataGrid - is it possible to make a 'partial sorting'?
我有一个使用 Xceed DataGridControl 的 WPF/MVVM 项目。它的 ItemsSource 是 PagedCollectionView(Silverlight 代码)。现在我按 LastName 字段进行分组,并在网格中获取分组数据 - Smith 的(5 行)、Johnson 的(10 行)、Williams 的(15 行)。 Xceed DataGridControl 能否以这样的方式进行模板化,即在单击某个按钮时它会按 FirstName 字段对 Johnson 的记录进行排序,而留下 Smith 和 Williams 的 - 以及全局 DataGrid 'LastName' 列未排序?此外,Johnson 的行必须显示在相同的数据网格行中 - 如果 Johnson 的组占用第 6 到 16 行 - 在应用此类排序后它应该保留第 6-16 行
此特定行为没有任何内置功能,但您可以使用一些自定义代码来实现。类似于用于 'LastName' 顺序的隐藏列,因此您可以使用它优先于下一列进行排序。
为了匹配您的示例,对于 Smith 行,此 CustomSortId 的值为 1,对于 Johnson 行,值为 2,对于 Williams 行,值为 3。然后您将能够按 CustomSortId 排序,然后按 FirstName 排序以获得所需的结果。
我有一个使用 Xceed DataGridControl 的 WPF/MVVM 项目。它的 ItemsSource 是 PagedCollectionView(Silverlight 代码)。现在我按 LastName 字段进行分组,并在网格中获取分组数据 - Smith 的(5 行)、Johnson 的(10 行)、Williams 的(15 行)。 Xceed DataGridControl 能否以这样的方式进行模板化,即在单击某个按钮时它会按 FirstName 字段对 Johnson 的记录进行排序,而留下 Smith 和 Williams 的 - 以及全局 DataGrid 'LastName' 列未排序?此外,Johnson 的行必须显示在相同的数据网格行中 - 如果 Johnson 的组占用第 6 到 16 行 - 在应用此类排序后它应该保留第 6-16 行
此特定行为没有任何内置功能,但您可以使用一些自定义代码来实现。类似于用于 'LastName' 顺序的隐藏列,因此您可以使用它优先于下一列进行排序。
为了匹配您的示例,对于 Smith 行,此 CustomSortId 的值为 1,对于 Johnson 行,值为 2,对于 Williams 行,值为 3。然后您将能够按 CustomSortId 排序,然后按 FirstName 排序以获得所需的结果。