使用extjs 6.2中的值对商店进行分组

时间:2017-05-17 05:52:30

标签: extjs extjs6.2

我正在尝试将我的商店分组到部门名称。部门名称也包含一些空值。当我尝试与sort函数分组时,它的结果来自同名的多个组。

有关详细信息,请参阅此fiddel。我不知道我做错了什么。请建议。

1 个答案:

答案 0 :(得分: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中考虑空值。 (但是,通常情况下会有一些后备类别,如&#34;其他&#34;最终,而不是&#34; IT&#34;以及&#34;销售&#34;。

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

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