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