2011-06-08 57 views
1

我想将每条记录的值填充到网格中进行查看,但不知道如何去做。如何访问json标签以及ExtJS网格中的值?

例如,如果JSON如下所示,我希望能够在第一列中具有firstName,lastName和age以及第二列中相应行中的关联值。

{ 
    "people": [ 
     {"firstName": "Jane", 
     "lastName": "Doe", 
     "age": 23} 
    ] 
} 

任何想法都非常感谢!

+0

尽管网上有关tpl仅用于迭代数组项目的各种评论,但我看到了sencha 2010年大会上的一个视频,它使用tpl专门为一个项目和一些子项目所以..因此,我想这些线程可能会帮助在设计一个解决方案:[xtemplate as xslt - 如意算盘](http://www.sencha.com/forum/showthread.php?8025-XTemplate-New-Features-%28was-SuperTemplate-Feature-Request%29)和[创建一个html表,然后gridIizes它](http://www.java2s.com/Code/JavaScript/Ext-JS/CreateagridwithfromanexistingunformattedHTMLtable.htm) – edlftt 2011-06-08 04:59:54

回答

0

嗯,首先你需要列设置为网格:

columns: [ 
       {header: 'firstName', dataIndex: 'firstName',flex:1}, 
       {header: 'lastName', dataIndex: 'lastName', flex:1}, 
       {header: 'age',  dataIndex: 'age',flex:1} 
     ], 

那么你需要定义模型和存储:

Ext.define('gridModel', { 
extend: 'Ext.data.Model', 
fields: [ 
    {name: 'firstName', type:'string'}, 
    {name: 'lastName', type:'int'}, 
    {name: 'age', type:'string'} 
] 

});

var myStore = Ext.create('Ext.data.Store', { 
model: 'gridModel', 
proxy: { 
    type: 'ajax', 
    url : 'url of your json', 
    reader:{ 
     type:'json', 
     root: 'people'   
    } 
}, 
autoLoad:true 

});

和您的数据应该在查看。并在网格中定义您的商店:(store:myStore)

干杯!

+0

我正在寻找一种方法来从json动态提取标签名称所以我可以说:每个属性都给我属性名称(“firstName”)和属性值(“Jane”)。 – edlftt 2011-06-10 03:11:38