首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将多组数据加载到一个表中/在数据模型中创建子字段

将多组数据加载到一个表中/在数据模型中创建子字段
EN

Stack Overflow用户
提问于 2012-04-26 20:55:30
回答 1查看 936关注 0票数 0

我正在努力学习Ext,因为我已经被设置了一个项目,它要求我了解它的一些基本部分,基本上我被困在以下几个方面:

我需要根据一个公共字段将两个JSON文件加载到同一个表中:

档案1

代码语言:javascript
运行
复制
{
    "data" : [{
        "id" : "12",
        "data" : {
            "field1" : "data 1-1",
            "field2" : "data 1-2",
        }
    },{
        "id" : "34",
        "data" : {
            "field1" : "data 2-1",
            "field2" : "data 2-2",
        }
    }]
}

档案2:

代码语言:javascript
运行
复制
{
    "otherdata" : [{
        "id" : "12",
        "stuff" : {
            "var1" : "stuff 1-1",
            "var2" : "stuff 1-2",
        },
        "morestuff" : {
            "v1" : "more 1-1",
            "v2" : "more 1-2",
            "v3" : "more 1-3"
        }
    },{
        "id" : "34",
        "stuff" : {
            "var1" : "stuff 2-1",
            "var2" : "stuff 2-2",
        },
        "morestuff" : {
            "v1" : "more 2-1",
            "v2" : "more 2-2",
            "v3" : "more 2-3"
        }
    }]
}

我试图将这些解析成如下所示的表:

代码语言:javascript
运行
复制
|-----------------------------------------------------------------------------------
|    |        data         |          stuff        |           morestuff           |
|-----------------------------------------------------------------------------------
| id |  field1  |  field2  |    var1   |    var2   |    v1    |    v2    |    v3   |
|-----------------------------------------------------------------------------------
| 12 | data 1-1 | data 1-2 | stuff 1-1 | stuff 1-2 | more 1-1 | more 1-2 |more 1-3 |
| 34 | data 2-1 | data 2-2 | stuff 2-1 | stuff 2-2 | more 2-1 | more 2-2 |more 2-3 |
------------------------------------------------------------------------------------

我坚持的是以下几点:

如何加载两个 JSON文件,将它们与公共字段链接到单个数据存储中?

如何在数据模型中创建字段和子字段?(我可以创建单个字段,但不知道如何在这些字段中创建字段)

我的模型目前看起来如下:

代码语言:javascript
运行
复制
Ext.define('NS.model.Group', {
    extend: 'Ext.data.Model',
    fields: ['id','field1', 'field2', 'var1', 'var2', 'v1', 'v2', 'v3']
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-27 12:12:27

对于分组头,请看下面的示例:http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/group-header-grid.html

这将允许您创建与您想要的标题类似的标题(我认为)。

至于将两个数据存储合并到一个存储中--尽管在您的情况下是可能的--我还不推荐它(目前)。您可以只对属于另一个存储区的列使用自定义呈现程序函数。就像这样:

代码语言:javascript
运行
复制
{ text: 'id', flex: 1, dataIndex: 'id' },
{ text: 'v1', flex: 1, dataIndex: 'id',  
  renderer: function(value) {   
    var st = Ext.getStore('Store2'),
        idx = st.findExact('id', value);
    if (idx >= 0)
      return st.getAt(idx).get('v1');
    else 
      return '-';
  }
},
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10341299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档