我有以下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。
非常感谢任何帮助。
感谢。
答案 0 :(得分:3)
您应该在网格上使用分组功能。
此功能允许将聚合成组的网格行显示为 由Store上指定的Ext.data.Store.groupers指定。该 组将显示组名称的标题,然后显示相应的名称 下面的组的记录。这些小组也可以扩展 折叠。