考虑一个带有网格,表单和窗口的应用程序 .
如果我选择网格行,则记录数据(详细信息)以表格(绑定)显示 .
使用网格行中的dblclick事件,将显示一个带有表单的窗口以更新记录,并填充字段(绑定) .
窗口上的表单有一个组合框,它有一个存储区,要更新的字段的值由绑定填充 .
我的问题:
我需要同时将更新中的组合框valueField和displayField发送到服务器(id和cars值) .
有没有办法直接使用组合框配置或以某种方式添加另一个绑定/值?
xtype: 'combobox',
fieldLabel: 'myField',
name:'id',
bind: {
store: '{mystore}',
value: '{record.id}' //load value from record to update and bind (to display in grid and form)
},
displayField:'cars',
valueField:'id',
queryMode: 'local',
编辑:
我通常使用的一种解决方案是:需要使用方法或事件,它是:
var values = myForm.getValues();
var comboValue = Ext.ComponentQuery.query('#mycomboItenmId')[0].getRawValue();
var objCombosValue = {
'combo_value': comboValue
}
var allValues = Ext.Object.merge(values, objCombosValue);
record.set(allValues);
store.sync({})
这有什么纯粹的绑定解决方案吗?
1 回答
您是通过store sync()将值发送到服务器吗?您可以向模型添加新字段以保存displayField值,并在组合框的“select”事件上更新该字段 .