我有一个表单和一个网格来提交查询,如下所示:
items:[
{
fieldLabel: 'query the month',
xtype : 'textfield',
name : 'query_year_month',
id: 'query_year_month'
} ],
buttons: {
text: 'submit',
formBind: true, //only enabled once the form is valid
disabled: false,
handler: function() {
//some code
}
var store = Ext.create('Ext.data.Store', {
model: //uncertain,
region : 'south',
pageSize: 15,
proxy: {
type: 'ajax',
url : 'brokee/brokagequery/',
reader: {
type: 'json',
root: 'users'
}
},
autoLoad: false
});
我想在提交表单后将数据加载到网格中。返回数据是json
结构,我不想定义静态模型绑定到商店,也不想定义网格列,因为返回的数据是未经确认的。应该从json数据生成商店模型和网格列,
例如:json:{'field1':data1,'field2':data2}
模型应该像这样生成:
Ext.define('somemodel', {
extend: 'Ext.data.Model',
fields: [
{name: 'field1', type: 'string'},
{name: 'field2', type: 'string'}
]
});
在官方演示中,商店和模型是预定义的,然后调用store.load方法通过代理刷新网格。但是,当需要生成商店和模型时,我该怎么做?
答案 0 :(得分:0)
当你加载你的json时,你可以像这样创建商店商店/模型....使用记录.raw来提取值并且:
Ext.create("Ext.data.JsonStore",{
id:record.raw.storeID,
model: Ext.define('App.dataGridModel', {
extend: 'Ext.data.Model',
fields: [record.raw.id, record.raw.first]...
})
...
});
与网格等相同..