Extjs 4,如何使用单个 Json 文件为多个动态网格发送多个元数据
Extjs 4, How to send multiple metaData for multiple dynamic grids, using a single Json file
我需要使用手风琴布局在单个面板上创建 8-10 个网格。所有网格都将使用 JSON 中的元数据对象和我商店中的 metachange 侦听器事件动态创建,并相应地重新配置我的网格(相当标准的过程)。但是有没有一种方法可以使用包含多个网格的元数据和数据的单个 JSON 文件。这样我就可以使用多个商店来读取单个 JSON。
像这样就好了:
"grid1" :
{
"metaData" : {---"root":"data1"-----------}
},
"grid2" :
{
"metaData" : {----"root":"data2"----------}
},
"data1" : {------------------},
"data2" : {-----------------}
我已经尝试在我的商店中使用 metaProperty 标签,但这种方法似乎对我不起作用(ExtJs 4.1.3)。
商店代理:
proxy: {
type: 'ajax',
url: 'MultiData.json',
reader: {
type: 'json'
// metaProperty : 'grid1', //Doesn't work, hence commented
}
存储监听器:
'metachange' :function (store, meta) {
Grid.reconfigure(store, meta.columns);
}
注意:当我在 JSON
中只有一个元数据和数据标签时,上面的代码可以完美运行
这个怎么样:
使用单个 Ext.Ajax 调用获取您需要的所有数据
根据需要将数据分成几部分。
使用store.loadData()直接加载到存储。这也应该触发 metachange 侦听器并相应地配置网格。如果没有,您可以使用网格的 configure() 属性 :grid.reconfigure(store,columns)
http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.data.Store-method-loadData
http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.grid.Panel-method-reconfigure
我需要使用手风琴布局在单个面板上创建 8-10 个网格。所有网格都将使用 JSON 中的元数据对象和我商店中的 metachange 侦听器事件动态创建,并相应地重新配置我的网格(相当标准的过程)。但是有没有一种方法可以使用包含多个网格的元数据和数据的单个 JSON 文件。这样我就可以使用多个商店来读取单个 JSON。
像这样就好了:
"grid1" :
{
"metaData" : {---"root":"data1"-----------}
},
"grid2" :
{
"metaData" : {----"root":"data2"----------}
},
"data1" : {------------------},
"data2" : {-----------------}
我已经尝试在我的商店中使用 metaProperty 标签,但这种方法似乎对我不起作用(ExtJs 4.1.3)。
商店代理:
proxy: {
type: 'ajax',
url: 'MultiData.json',
reader: {
type: 'json'
// metaProperty : 'grid1', //Doesn't work, hence commented
}
存储监听器:
'metachange' :function (store, meta) {
Grid.reconfigure(store, meta.columns);
}
注意:当我在 JSON
中只有一个元数据和数据标签时,上面的代码可以完美运行这个怎么样:
使用单个 Ext.Ajax 调用获取您需要的所有数据
根据需要将数据分成几部分。
使用store.loadData()直接加载到存储。这也应该触发 metachange 侦听器并相应地配置网格。如果没有,您可以使用网格的 configure() 属性 :grid.reconfigure(store,columns)
http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.data.Store-method-loadData http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.grid.Panel-method-reconfigure