我想在表单面板上更新一些组合(使用远程json存储)。 当我只是单击组合(在加载表单数据之前),它运行良好,加载和显示有效的项目。 但是,当我执行MyForm.getForm()。load(...)组合项目更改为" 2"。这是ID,但不是值。
请帮助我,如何正确更新这样的组合并显示json中带有特定ID的值?
型号:
Ext.define('OwnerUserModel', {
extend: 'Ext.data.Model',
fields: [
{ name: 'id', type: 'int' },
{ name: 'VarName', type: 'string' }
]
});
商店:
var OwnerUserStore = Ext.create('Ext.data.Store', {
model : 'OwnerUserModel',
autoSync: true,
proxy: {
type: 'ajax',
url : 'http://localhost/1/Super.php?Action=GetObjectFormParams&GetAgents=1',
reader: 'json'
},
autoLoad: true
});
带有组合项目的表单面板:
var MyForm = Ext.create('Ext.form.Panel', {
header: false,
title: 'My super Form',
//height: 300,
url: 'Super.php',
//width: 1100,
bodyPadding: 10,
defaultType: 'textfield',
items: [
...
{
fieldLabel : 'Agent',
allowBlank : false,
name : 'OwnerUserId',
id : 'OwnerUserId',
queryParam : 'GetAgents',
displayField: 'VarName',
valueField : 'id',
xtype : 'combo',
store : OwnerUserStore,
tpl: Ext.create('Ext.XTemplate',
'<tpl for=".">',
'<div class="x-boundlist-item">{VarName}</div>',
'</tpl>'
),
width: 353,
padding: '0 0 0 30',
editable: false
}
Json对商店负载的回复:
[{"id":"1","VarName":"89031230000 user1 phone"},{"id":"2","VarName":"89161200000 user2 phone"
}]
答案 0 :(得分:0)
我已经改变了项目的结构,它开始工作了!
在我看来,商店或模特描述中存在一些错误配置......
但我无法理解究竟是什么:-)有什么区别?有什么建议吗?
{
fieldLabel : 'Agent',
xtype : 'combo',
id : 'OwnerUserId',
name : 'OwnerUserId',
triggerAction: 'all',
forceSelection: true,
editable : false,
allowBlank : false,
queryParam : 'GetAgents',
mode : 'remote',
displayField:'VarName',
valueField : 'id',
width : 353,
padding : '0 0 0 30',
store: Ext.create('Ext.data.Store', {
fields: [
{name: 'id'},
{name: 'VarName'}
],
autoLoad: true,
proxy: {
type: 'ajax',
url: 'http://localhost/1/Super.php?Action=GetObjectFormParams&GetAgents=1',
reader: {
type: 'json'
}
}
}
)
}