动态加载ExtJS的列

时间:2011-02-17 16:17:07

标签: extjs

我无法弄清楚我需要做什么才能动态加载ExtJS网格的列。我希望能够将列标题作为JSON发送,并让网格获取该标题并生成所需的列。

更具体地说,我想使用GroupingHeader插件来做这件事,但我真的只是想弄清楚如何在没有增加GroupingHeader插件的复杂性的情况下做到这一点然后我可以解决这个问题:)

以下是我对列标题的一些示例JSON数据:

[
    {
        "run_id":"110207gad",
        "iterations":[
            "1_14",
            "2_16",
            "3_18",
            "4_20",
            "5_22"
        ]
    },{
        "run_id":"110207gae",
        "iterations":[
            "1_14",
            "2_16",
            "3_18",
            "4_20",
            "5_22"
        ]
    }
]

这是我需要进行分组的数据,其中run_id是分组标题,iterations是列标题。现在,我很高兴让iterations显示为列,然后我可以努力让分组工作。

如果有人能指出我正确的方向或给我一些关于从哪里开始的提示,那将是非常有帮助的!我自己并不仅仅想到这一点,但我只是需要一点点开始,因为我似乎无法从查看ExtJS示例和进行一些谷歌搜索中找到答案。

1 个答案:

答案 0 :(得分:1)

我建议您查看ExtJS示例的源代码。

http://dev.sencha.com/deploy/dev/examples/grid/array-grid.js

它应该为您提供相当多的信息以便开始使用。

您可以从此格式开始,从服务器传递它:

{"success":true,"message":"Loaded data","data":[{"run_id":1,"iterations":"1"},{"run_id":2,"iterations":"2"},{"run_id":3,"iterations":"3"}]}

然后你的读者会是这样的:

var reader = new Ext.data.JsonReader({
    totalProperty: 'total',
    successProperty: 'success',
    idProperty: 'run_id',
    root: 'data',
    messageProperty: 'message'  
}, [
    {name: 'run_id'},
    {name: 'iterations', allowBlank: false}
]);