ExtJS 6.2基于摘要行对网格面板分组进行排序

时间:2016-10-16 18:38:00

标签: extjs extjs6-classic

我一直在寻找数小时来弄清楚如何做到这一点。基本上我想要做的是基于一列分组数据,为该分组创建摘要,然后根据摘要对组进行排序。

使用其中一个厨房水槽示例,我希望能够按汇总价值率对这些组进行排序。

http://examples.sencha.com/extjs/6.0.0/examples/classic/grid/group-summary-grid.html

1 个答案:

答案 0 :(得分:2)

这可以使用带有 sorterFn 分组器来完成。 sorterFn 应该比较您要排序的汇总值。对于您提到的厨房水槽示例,如果您希望按项目列进行分组时按估算列的总和进行排序,则石斑鱼看起来像:

groupers: [{
    property: 'project',
    sorterFn: function(a,b) {

        var suma=0; store.each(function (rec) { suma += rec.data.project === a.data.project ? rec.data.estimate:0; });
        var sumb=0; store.each(function (rec) { sumb += rec.data.project === b.data.project ? rec.data.estimate:0; });

        if (suma > sumb) return 1;
        if (suma < sumb) return -1;
        return 0;
        }
}]

石斑鱼可以使用:

store.group(store.groupers[0]);

请参阅小提琴:https://fiddle.sencha.com/#fiddle/1im3