【问题标题】:Multiple level/criteria sorting using wijmo ICollectionView使用 wijmo ICollectionView 进行多级/标准排序
【发布时间】:2016-03-22 19:33:26
【问题描述】:

Wijmo 是否具有在第一个搜索条件匹配的情况下添加额外排序级别的功能?此辅助搜索仅在主要条件匹配的情况下使用。

例如,如果我的两列是州和城镇,我想按升序对州进行排序,但这些州内的城镇按降序排序。所以我的清单可能是这样的

NV |拉斯维加斯

NV |伊利

纽约 |萨拉托加

纽约 |纽约市

纽约 |奥尔巴尼

【问题讨论】:

    标签: sorting multiple-columns wijmo secondary-sort


    【解决方案1】:

    排序是在数据源级别由 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

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-04-11
      • 1970-01-01
      • 2011-04-13
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多