EXTjs网格模型json noob

时间:2013-08-13 11:33:08

标签: javascript json extjs

我做错了什么?仅在网格中显示的所有字段中的工作组。 EXTjs 4.2.1。 尝试过在这里找到的不同变体,但是,唉,没有什么能帮助理解这里的错误。

Ext.define('myModel', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'WorckGroup', type: 'string' },
        { name: 'Statistics', type: 'auto' },
        { name: 'Specialist', type: 'string', mapping: 'Statistics.Specialist' },
        { name: 'ScallCount', type: 'int', mapping: 'Statistics.SCallCount' },
        { name: 'AverageDuration', type: 'auto', mapping: 'Statistics.AverageDuration' }
    ]
});


var store = Ext.create('Ext.data.Store', {
    model: 'myModel',
    proxy: {
        type: 'ajax',
        url: '/omnireports/ajaxgrid',
        reader: {
            type: 'json',
        }
    },
    autoLoad: true
});


var basegrid = Ext.create('Ext.grid.Panel', {
    store: store,
    columns: [
    { header: 'WG', width: 200, dataIndex: 'WorckGroup' },
    { header: 'SP', dataIndex: 'Specialist' },
    { header: 'SCC', dataIndex: 'SCallCount' },
    { header: 'AD', dataindex: 'AverageDuration' }
    ],    });

JSON

[
{"WorckGroup":"3D",
    "Statistics":[
    {"Specialist":"В А","SCallCount":64,"AverageDuration":0.1136067},
    {"Specialist":"К Т","SCallCount":170,"AverageDuration":0.1045816}]
{"WorckGroup":"SD",
    "Statistics":[
    {"Specialist":"B A","SCallCount":197,"AverageDuration":0.1364689}]
}
]

1 个答案:

答案 0 :(得分:0)

你的映射没有意义。 Statistics是一个数组,因此Statistics.Specialist不会映射到任何内容。

读者的根目录可能应为WorckGroup.Statistics,并且您应在每个项目中加入WorckGroup

reader: {
    type: 'json',
    root: 'WorckGroup.Statistics'
}

然后从模型中的每个字段中删除映射。