1

我有以下 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

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

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

很感谢任何形式的帮助。

谢谢。

4

1 回答 1

3

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

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

于 2013-01-16T13:53:49.590 回答