ExtJS 5组按照网格存储中的顺序排列

时间:2015-01-08 11:42:58

标签: sorting extjs grouping user-experience extjs5

美好的一天!我使用Ext.util.Grouper在我的网格存储中对数据进行分组,但是组以不可接受的(对于我的任务)方式排序。我需要改变排序algorythm。

我的模型有字段'id','code'和'tag'。我尝试按字段'tag'对记录进行分组,并按当前组中'code'属性的最小值对组进行排序。

我尝试使用groupFn& amp; Ext.util.Grouper中的sortFn,但它没有给出结果:(

有谁知道,这个问题怎么解决?

1 个答案:

答案 0 :(得分:1)

您可以尝试技巧 - 创建包含代码和标记的组合字段,例如。 00001234|C#其中00001234是代码,C#是此字段的标记和分组。当您的代码填充0到相等的长度时,它们将按预期排序。然后从groupHeaderTpl上的组名中删除代码。

计算字段示例:

{
    name: 'group', 
    type: 'string', 
    convert: function (v, rec) {
        var code = rec.get('code');
        code = Array(8 - String(code).length + 1).join('0') + code; // pad code with zeros
        return code + '|' + rec.get('tag');
    },
    depends: ['code', 'tag'] 
}

groupHeaderTpl示例:

groupHeaderTpl: '{[values.name.split(\"|\")[1]]}'

小提琴:http://jsfiddle.net/zn0v4Lpt/1/