动态加载ExtJS的列

动态加载ExtJS的列,extjs,Extjs,我很难弄清楚动态加载ExtJS网格的列需要做什么。我希望能够将列标题作为JSON发送,并让网格获取这些标题并生成所需的列 更具体地说,我想使用GroupingHeader插件来实现这一点,但我真的只想先弄清楚如何在不增加GroupingHeader插件复杂性的情况下实现这一点,然后我就可以解决这个问题:) 以下是我为列标题提供的一些示例JSON数据: [ { "run_id":"110207gad", "iterations":[

我很难弄清楚动态加载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\u id
将是分组的标题,
iterations
将是列标题。现在,我很高兴能让
迭代
显示为列,然后我就可以让分组工作了


如果有人能给我指出正确的方向或给我一些从哪里开始的提示,那将是非常有帮助的!我自己并没有弄明白这一点,但我只需要一点小小的碰撞就可以开始了,因为我似乎无法通过查看ExtJS示例和进行一些Google搜索来弄明白。

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

它应该给你一个相当数量的信息开始

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

{“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}
]);

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

它应该给你一个相当数量的信息开始

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

{“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}
]);

这个例子展示了如何在不从服务器加载数据的情况下创建一个简单的网格。要从服务器加载数据,需要
Ext.data.JsonStore
Ext.data.JsonReader
。您可以查看Ext>data>JSONStore部分下的文档。希望这有帮助。我可以使用数组创建一个数组,但是通过将PHP代码注入JavaScript来“构建”数组并不是很优雅。我已经对JSONStore示例做了相当多的修改,只是不太理解如何格式化JSON数据,使其像动态生成列一样工作。谢谢你提供的信息@Jared我用更多关于定义结构的技巧更新了答案,在本例中可以检查使用JSON的代码。使用Firebug,您可以看到从服务器传递的JSON字符串。这个例子展示了如何在不从服务器加载数据的情况下创建一个简单的网格。要从服务器加载数据,需要
Ext.data.JsonStore
Ext.data.JsonReader
。您可以查看Ext>data>JSONStore部分下的文档。希望这有帮助。我可以使用数组创建一个数组,但是通过将PHP代码注入JavaScript来“构建”数组并不是很优雅。我已经对JSONStore示例做了相当多的修改,只是不太理解如何格式化JSON数据,使其像动态生成列一样工作。谢谢你提供的信息@Jared我用更多关于定义结构的技巧更新了答案,在本例中可以检查使用JSON的代码。使用Firebug,您可以看到从服务器传递的JSON字符串。