Ext JS JSON网格分组

时间:2013-01-15 19:42:00

标签: json extjs

我有以下JSON,我需要在Ext JS 4 Grid中进行分组:

{
root: {
    type: 'viewer',
    people: ['person a', 'person b', 'person c']
},
{
    type: 'editor',
    people: ['person c', 'person d']
}
}

我完全不知道从哪里开始在ExtJS网格中表示这些数据。

但是,这是我到目前为止所做的:

var myModel = Ext.create('Ext.data.Model', {
    fields: ['type', 'people']
})

var myStore = Ext.create('Ext.data.Store' , {
    data: (JSON above),
    model: myModel,
    groupField: 'type',
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'root'
        }
    }
});

var myGrid = Ext.create('Ext.grid.Panel', {
    store: myStore,
    columns: [
        {header: 'Name', dataIndex: 'people'}
    ]
})

.... other code to display the grid

我得到一个要显示的网格,但它没有分组,并且没有任何数据显示在网格内部。

出于某种原因,我认为我需要一个更精细的模型,但是,由于“people”对象只是一个字符串数组,我不知道如何告诉列定义它是哪个dataIndex。

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:3)

您应该在网格上使用分组功能。

  

此功能允许将聚合成组的网格行显示为   由Store上指定的Ext.data.Store.groupers指定。该   组将显示组名称的标题,然后显示相应的名称   下面的组的记录。这些小组也可以扩展   折叠。