我是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中做到这一点吗?
先谢谢了。
答案 0 :(得分: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