创建动态模型
Create dynamic model
大家好,我正在研究动态模型,我需要一个循环来创建列,我只找到了这个 "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
});
}
});
}
这 return 来自:JSON.parse(response.responseText);
您的 model
没有 属性 items
。您的 grid
确实有 store
,store
有 model
,model
有 fields
。您的 grid
有 columns
.
尝试 reconfigure 您的网格,其中包含您通过 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
并重新配置您的网格)。
更多信息:
大家好,我正在研究动态模型,我需要一个循环来创建列,我只找到了这个 "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
});
}
});
}
这 return 来自:JSON.parse(response.responseText);
您的 model
没有 属性 items
。您的 grid
确实有 store
,store
有 model
,model
有 fields
。您的 grid
有 columns
.
尝试 reconfigure 您的网格,其中包含您通过 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
并重新配置您的网格)。
更多信息: