使用 wijmo ICollectionView 进行多次 level/criteria 排序
Multiple level/criteria sorting using wijmo ICollectionView
Wijmo 是否具有在第一个搜索条件匹配的情况下添加额外排序级别的功能?此辅助搜索仅在主要条件匹配的情况下使用。
例如,如果我的两列是“州”和“城镇”,我想按升序对州进行排序,但对这些州内的城镇进行降序排序。所以我的列表可能是这样的
NV |拉斯维加斯
NV |伊利
纽约 |萨拉托加
纽约 |纽约市
纽约 |奥尔巴尼
排序由 CollectionView class 在数据源级别执行。 CollectionView 有一个 "sortDescriptors" 属性 ,它是一个数组。您可以根据需要添加任意数量的排序级别。例如:
// raw data
var data = [
{ state: 'NV', town: 'Las Vegas' },
{ state: 'NY', town: 'Saratoga' },
// ... more data ...
];
// CollectionView
var view = new wijmo.collections.CollectionView(data);
// sort by state, then by town
var sd = view.sortDescriptions;
sd.push(new wijmo.collections.SortDescription('state', true));
sd.push(new wijmo.collections.SortDescription('town', true));
现在您可以使用 "view" 对象作为网格的数据源。
请注意,如果您不使用 CollectionView,FlexGrid 会自动创建一个供内部使用(因此它可以对数据等进行排序)。此内部 CollectionView 通过网格的 "collectionView" 属性 公开。所以你也可以这样做:
// bind grid to raw data (creates internal CollectionView automatically)
grid.itemsSource = data;
// sort the grid's CollectionView
var sd = grid.collectionView.sortDescriptions;
sd.push(new wijmo.collections.SortDescriptor('state', true));
sd.push(new wijmo.collections.SortDescriptor('town', true));
希望对您有所帮助。有关 CollectionView class 的更多信息,请查看此 link:
https://wijmo.com/5/docs/topic/wijmo.collections.CollectionView.Class.html
希望对您有所帮助。
Wijmo 是否具有在第一个搜索条件匹配的情况下添加额外排序级别的功能?此辅助搜索仅在主要条件匹配的情况下使用。
例如,如果我的两列是“州”和“城镇”,我想按升序对州进行排序,但对这些州内的城镇进行降序排序。所以我的列表可能是这样的
NV |拉斯维加斯
NV |伊利
纽约 |萨拉托加
纽约 |纽约市
纽约 |奥尔巴尼
排序由 CollectionView class 在数据源级别执行。 CollectionView 有一个 "sortDescriptors" 属性 ,它是一个数组。您可以根据需要添加任意数量的排序级别。例如:
// raw data
var data = [
{ state: 'NV', town: 'Las Vegas' },
{ state: 'NY', town: 'Saratoga' },
// ... more data ...
];
// CollectionView
var view = new wijmo.collections.CollectionView(data);
// sort by state, then by town
var sd = view.sortDescriptions;
sd.push(new wijmo.collections.SortDescription('state', true));
sd.push(new wijmo.collections.SortDescription('town', true));
现在您可以使用 "view" 对象作为网格的数据源。
请注意,如果您不使用 CollectionView,FlexGrid 会自动创建一个供内部使用(因此它可以对数据等进行排序)。此内部 CollectionView 通过网格的 "collectionView" 属性 公开。所以你也可以这样做:
// bind grid to raw data (creates internal CollectionView automatically)
grid.itemsSource = data;
// sort the grid's CollectionView
var sd = grid.collectionView.sortDescriptions;
sd.push(new wijmo.collections.SortDescriptor('state', true));
sd.push(new wijmo.collections.SortDescriptor('town', true));
希望对您有所帮助。有关 CollectionView class 的更多信息,请查看此 link:
https://wijmo.com/5/docs/topic/wijmo.collections.CollectionView.Class.html
希望对您有所帮助。