javascript - Extjs 4,如何使用单个 Json 文件发送多个动态网格的多个元数据

标签 javascript json extjs grid extjs4.1

我需要使用 Accordion 布局在单个面板上创建 8-10 个网格。所有网格都将使用 JSON 中的元数据对象和我商店中的元更改监听器事件动态创建,并相应地重新配置我的网格(非常标准的流程)。但是有没有一种方法可以使用包含多个网格的元数据和数据的单个 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 中只有一个元数据和数据标记时,上述代码可以完美运行

最佳答案

这个怎么样:

  1. 使用单个 Ext.Ajax 调用即可获取所需的所有数据

  2. 根据需要将数据拆分为多个部分。

  3. 使用store.loadData()直接加载到存储。这还应该触发元更改监听器并相应地配置网格。如果没有,您可以使用网格的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

关于javascript - Extjs 4,如何使用单个 Json 文件发送多个动态网格的多个元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28603277/

相关文章:

javascript - 使用 javascript 或 jsp 缩小图像尺寸

javascript - 使用包含列表的 json 数据发送 post 请求

extjs - 如何禁用单行的操作列项目?

javascript-framework - ExtJS 工具栏无法正确呈现

javascript - 在按钮 JQuery 之后连接列表

javascript - jquery中检查复选框是否被选中

javascript - 在选择框中动态选择多个选项

c# - JSON 到 C# 中的字符串数组

c# - 将 JSON 字符串转换为 C# 字符串数组

css - ExtJS 4 - 失焦时的网格列编辑器边框样式