如何在Panel中添加2个按钮来折叠/展开ExtJs中网格中的所有组?

时间:2017-12-04 23:34:01

标签: javascript extjs extjs5

我有一个面板,里面有一个网格,所以我的问题是如何有两个按钮折叠/展开网格中的所有组?我还是ExtJs的新手。

这是我正在使用的代码。它运作得很好。

var store = Ext.create('Ext.data.Store', {
fields: ['name', 'seniority', 'department'],
groupField: 'department',
data: [
    { name: 'Michael Scott', seniority: 7, department: 'Management' },
    { name: 'Dwight Schrute', seniority: 2, department: 'Sales' },
    { name: 'Jim Halpert', seniority: 3, department: 'Sales' },
    { name: 'Kevin Malone', seniority: 4, department: 'Accounting' },
    { name: 'Angela Martin', seniority: 5, department: 'Accounting' }
]
});

Ext.create('Ext.grid.Panel', {
title: 'Employees',
store: store,
columns: [
    { text: 'Name', dataIndex: 'name', flex: 1 },
    { text: 'Seniority', dataIndex: 'seniority', flex: 1 }
],
features: [{ftype:'grouping'}],
renderTo: Ext.getBody()
});

也许在Panel中使用 dockedItem 将是我想要的方式。

2 个答案:

答案 0 :(得分:2)

对于按钮,我猜您会在网格上使用工具栏:

tbar:[{
    iconCls:'x-fa fa-plus-square',
    handler:function(btn) {
        btn.up('grid').getView().findFeature("grouping").expandAll();
    }
},{
    iconCls:'x-fa fa-minus-square',
    handler:function(btn) {
        btn.up('grid').getView().findFeature("grouping").collapseAll();
    }
}]

答案 1 :(得分:0)

快捷

您可以根据需要直接设置网格的可折叠属性属性。