【问题标题】:Extjs 5 grid Group SortingExtjs 5 网格组排序
【发布时间】:2015-02-24 07:42:58
【问题描述】:

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

组的排列方式应使数据来自数据库。数据从 DB 以正确的顺序出现。但是,排序是在商店级别进行的。

在网格中我使用这个,

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

在商店我用这个,

groupField: 'groupName'

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

remoteGroup:true,
remoteSort: false

有什么帮助吗?

【问题讨论】:

    标签: sorting extjs grid grouping


    【解决方案1】:

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

    例如:-

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

    【讨论】:

      【解决方案2】:

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

      我在商店中遇到了groupDir 配置选项,分组将始终排序ASC 或DESC,默认为ASC,您可以考虑创建自己的grouper 函数来覆盖sorterFn.

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2013-02-12
          • 1970-01-01
          • 2015-06-07
          • 2023-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-27
          • 2014-11-13
          相关资源
          最近更新 更多