Extjs将复杂的JSON数据读入商店

时间:2011-05-19 14:36:48

标签: json extjs

我的Json数据是这样的:

{

"Data":

    {
    "Columns":
    [
        {
            "Name":"Name",
            "Format":"string"
        },
        {
            "Name":"Age",
            "Format":"N2"
        }
    ],
    "Rows":
    [
        {"ExtensionData":{},"Cells":["Vikas", 23],"Emails":[{"ExtensionData": }, Email": vikas@something.com", "CellOrdinal":0}]},
        {"ExtensionData":{},"Cells":["Vikram", 27],"Emails":[{"ExtensionData":{},"Email":"vikram@something.com","CellOrdinal":0}]},     
    ]
    }
    "Grid Name":"Users"
    }
}
}

我需要将它绑定到我的网格。

“Columns”标记包含网格列名称。 “行”包含网格的记录。还有一些数据,如从数据库中提取的网格名称。这是一个稍微复杂的结构。

如何将这些数据存入商店?我的模型应该如何?

1 个答案:

答案 0 :(得分:4)

经过大量试验和错误后,模型准备就绪......

Ext.define('Data', {
    extend: 'Ext.data.Model',
    fields: [
            { type: 'string', name: 'Grid Name' }
        ],
    hasMany: [{ model: 'Column', name: 'Columns' },
              { model: 'Row', name: 'Rows' }]
});

Ext.define("Column", {
    extend: 'Ext.data.Model',
    fields: [
            { type: 'string', name: 'Name' },
            { type: 'string', name: 'Format' }
        ],
    belongsTo: 'Data'
});

Ext.define("Row", {
    extend: 'Ext.data.Model',
    fields: [
            { type: 'string', name: 'Cells' },
            { type: 'string', name: 'Emails' }
        ],
    belongsTo: 'Data'
});