Extjs 5网格组排序

时间:2015-02-24 07:42:58

标签: sorting extjs grid grouping

在我的应用中,我有一个启用了分组的​​网格。当网格出现时,组按升序(默认)顺序排序。我不希望我的网格组被排序。

应该以数据来自数据库的方式安排组。数据从DB正确输入。但是,排序发生在商店层面。

在网格中我使用它,

features: [{
            ftype: 'grouping',
            groupHeaderTpl: '{name}',
            enableNoGroups:true,
            depthToIndent: 20
        }]

在商店我用这个,

groupField: 'groupName'

我甚至尝试在我的商店中使用这些配置,

remoteGroup:true,
remoteSort: false

任何帮助?

3 个答案:

答案 0 :(得分:3)

我创建了这个fiddle以测试您遇到的问题,我注意到它默认按分组字段排序。

我遇到商店的groupDir配置选项,分组总是会对ASCDESC进行排序,默认为ASC,您可以考虑创建自己的grouper函数会覆盖sorterFn

分组和排序将明显重新排列元素的顺序,您可能需要复制服务器上前端的排序逻辑。打开remoteSort应该有助于对其他列进行排序。

答案 1 :(得分:2)

您需要在remoteSort: true中添加store。例如:

Ext.define('store', {
  extend: 'Ext.data.Store',
  requires: 'model',
  model: 'model',
  groupField: 'groupField',
  remoteSort: true
});

答案 2 :(得分:0)

您可以将grouper.sorterFn设置为Ext.emptyFn以禁用排序

例如:-

Ext.define('store', {
    extend: 'Ext.data.Store',
    requires: 'model',
    model: 'model',
    groupField: 'groupField',
    grouper: {
        sorterFn: Ext.emptyFn
    }
});