Ext js 5.0.1列自定义排序

问题描述 投票:0回答:1

我是extjs框架的新手,正在寻找一种向面板中的列添加自定义排序功能的方法。我经历了一些帖子,似乎这个功能随着时间的推移已经改变了几次。

在5.0.1文档中,我发现sortType配置可用于将数据转换为可比较的值。

但在我的情况下,将所有数据转换为值然后排序可能是一个耗时的过程,我希望使用像之前doSort配置中使用的函数similar to this example;通过基本配置这样的功能:

function customSorter(state){
    var ds = this.up('grid').getStore();
    var field = this.getSortParam();
    ds.sort({
        property: field,
        direction: state,
        sorterFn: function(v1,v2){
             //some custom logic
        }
    });
}

编辑1:我希望只将这个函数用于一列,其他列是标准数据类型,默认情况下排序工作正常。

任何想法如何在5.0.1中做到这一点?

提前致谢..

javascript extjs gridpanel
1个回答
0
投票

您可以将Ext.util.Sorter数组传递给商店的sort方法。 Ext.util.Sorter类有一个sorterFn配置。

引用:

https://docs.sencha.com/extjs/5.0.1/api/Ext.util.Sorter.html https://docs.sencha.com/extjs/5.0.1/api/Ext.data.Store.html#method-sort

如果要对特定列进行自定义排序,可以在对应于该列的字段上使用sortType配置,请参阅https://docs.sencha.com/extjs/5.0.1/api/Ext.data.field.Field.html#cfg-sortType

© www.soinside.com 2019 - 2024. All rights reserved.