如何删除EXTJS中特定行的摘要分组

时间:2014-12-30 02:05:59

标签: extjs

如果我在网格和存储中应用groupField属性,extjs将自动按groupField对记录进行排序。

例如:http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/group-summary-grid.html,它使用' project'作为groupField。

我的问题是如何将一个不属于任何组的额外行添加到groupField的网格中。 (像这样:http://i59.tinypic.com/30s973l.jpg

2 个答案:

答案 0 :(得分:1)

默认情况下,会为groupField中的每个值创建一个组,也为空groupField创建(但它首先出现)。如果它足够你,那么你不必做任何事情。

小提琴:http://jsfiddle.net/tme462tj/

如果您希望获得附加图像等行为,则必须完成一些工作。 要将空值放在最后,您可以为模型字段创建convert函数(例如:convert: function(v) { return v ? v : defaultDepartment; })。如果要隐藏此空组的标题和摘要,可以将事件监听器附加到viewready事件并使用样式隐藏它们:

viewready: function() {
    var els = this.getEl().query('.x-grid-group-hd');
    els = Ext.Array.filter(els, function(e) { return e.textContent.trim() == defaultDepartment; });

    if (els.length !== 1) {
        return;
    }
    var header = Ext.fly(els[0]);
    header.setStyle('display', 'none');

    var summary = header.up('.x-group-hd-container').down('.x-grid-row-summary');
    if (summary) {
        summary.setStyle('display', 'none');
    }
}

小提琴:http://jsfiddle.net/hdyokgnx/1/

答案 1 :(得分:0)

根据我对已接受的解决方案的评论,此修订使分组标题在该网格视图的持续时间内永久隐藏。

这解决了我需要分组网格但其中一个分组没有分组标题行的问题。

comments.find