【问题标题】:Grouping in store with values in extjs 6.2使用 extjs 6.2 中的值在商店中分组
【发布时间】:2017-06-01 04:19:54
【问题描述】:

我正在尝试按部门名称对我的商店进行分组。部门名称也包含一些空值。当我尝试与排序功能一起分组时,它会导致多个同名组。

详情请参阅fiddel。我没有得到我做错了什么。请多多指教。

【问题讨论】:

    标签: extjs extjs6.2


    【解决方案1】:

    您的 sorterFn 错误。

    The sorterFn has to return three different values:

    • 1 如果第二个参数严格大于第一个参数。
    • -1 如果第二个参数严格小于第一个参数。
    • 0 如果两个参数是同一组。

    您的 sorterFn 永远不会返回 0。试试这个:

    sorterFn: function(a, b) {
        if(a.get('department')=="Management" && b.get('department')=="Management") return 0;
        if(a.get('department')=="Management") return 1;
        if(b.get('department')=="Management") return -1;
        if(a.get('department') < b.get('department')) return 1;
        if(a.get('department') > b.get('department')) return -1;
        return 0;
    },
    

    此外,您的transform 函数没用。它仅从您覆盖的原始sorterFn 调用。如果您愿意,您必须在 sorterFn 中考虑空值。 (但是,通常人们会将诸如“其他”之类的后备类别放在最后,而不是放在“IT”和“销售”之间。)

    此外,要在标题行中写入部门,您必须覆盖 groupHeaderTpl 模板,例如

    groupHeaderTpl: [
        '<tpl if=\'name\'>{name}<tpl else>Others</tpl>'
    ]
    

    【讨论】:

    • @RoliAgrawal 我已经修复了 sorterFn 中的一个错误;请检查该错误是否也在您的代码中。
    猜你喜欢
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 2015-02-06
    相关资源
    最近更新 更多