【发布时间】:2016-03-22 19:33:26
【问题描述】:
Wijmo 是否具有在第一个搜索条件匹配的情况下添加额外排序级别的功能?此辅助搜索仅在主要条件匹配的情况下使用。
例如,如果我的两列是州和城镇,我想按升序对州进行排序,但这些州内的城镇按降序排序。所以我的清单可能是这样的
NV |拉斯维加斯
NV |伊利
纽约 |萨拉托加
纽约 |纽约市
纽约 |奥尔巴尼
【问题讨论】:
标签: sorting multiple-columns wijmo secondary-sort
Wijmo 是否具有在第一个搜索条件匹配的情况下添加额外排序级别的功能?此辅助搜索仅在主要条件匹配的情况下使用。
例如,如果我的两列是州和城镇,我想按升序对州进行排序,但这些州内的城镇按降序排序。所以我的清单可能是这样的
NV |拉斯维加斯
NV |伊利
纽约 |萨拉托加
纽约 |纽约市
纽约 |奥尔巴尼
【问题讨论】:
标签: sorting multiple-columns wijmo secondary-sort
排序是在数据源级别由 CollectionView 类执行的。 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));
现在您可以使用“视图”对象作为网格的数据源。
请注意,如果您不使用 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 类的更多信息,请查看此链接:
https://wijmo.com/5/docs/topic/wijmo.collections.CollectionView.Class.html
我希望这会有所帮助。
【讨论】: