Javascript 创建动态模型

Javascript 创建动态模型,javascript,extjs,dynamic,model,Javascript,Extjs,Dynamic,Model,大家好,我正在学习一个动态模型,我需要一个循环来创建列,我发现只有这个“items.push({)”但是我不知道如何使用它。 谁能帮帮我吗 onSqlChange: function (gridPanel, value) { var me = this; Ext.Ajax.request({ url: '{url action=getSqlDetails}', params: { fileName: value

大家好,我正在学习一个动态模型,我需要一个循环来创建列,我发现只有这个“items.push({)”但是我不知道如何使用它。 谁能帮帮我吗

onSqlChange: function (gridPanel, value) {
    var me = this;

    Ext.Ajax.request({
        url: '{url action=getSqlDetails}',
        params: {
            fileName: value
        },
        success: function (response) {
            var text = JSON.parse(response.responseText);
            console.log(text);
            me.mainWindow.grid.show();
            var columns = [];
            Ext.create('Ext.data.Model', {
                items: columns
            });
        }
    });
}
这是从以下位置返回的:
JSON.parse(response.responseText);

您没有属性
网格
存储
存储
模型
模型
字段
。您的
网格

使用ajax调用检索的列尝试网格:

onSqlChange: function (gridPanel, value) {
    var me = this;

    Ext.Ajax.request({
        url: '{url action=getSqlDetails}',
        params: {
            fileName: value
        },
        success: function (response) {
            var text = JSON.parse(response.responseText),
                grid = me.mainWindow.grid,
                columns = text.columns;

            grid.reconfigure(columns);
            grid.show();
        }
    });
}
但在我看来,它可以做得更干净。列和字段可以在
metachange
事件中动态设置。当您收听此消息时,您可以从该位置使用存储和列重新配置网格。在
onSqlChange
中,您只需再次加载存储即可(这将导致触发
metachange
并重新配置网格)

更多信息:

很好的解决方案,似乎有效:)谢谢你!你对动态存储有什么想法吗?你说的动态存储是什么意思?我的网格需要一个存储来加载数据,或者我可以在这里放弃它吗?为什么不创建一个存储来检索你的sql数据呢?在元更改中,用这个存储和元数据中的列重新配置网格。你只需要加载你的存储之后,网格将使用存储中的新数据和元数据中的新列重新配置。请阅读以下内容了解更多架构:该死,我不能使用AddListener,因为我有extJs 4.1:/