グリッド、フォーム、ウィンドウのあるアプリを考えてみましょう。combobox:更新時にサーバーにvalueFieldとdisplayFieldの値を送信
グリッド行を選択すると、レコードデータ(詳細)がフォーム(バインディング)で表示されます。
グリッド行のdblclickイベントでは、フォームを持つウィンドウが表示され、レコードが更新され、フィールドが塗りつぶされます(バインディング)。
ウィンドウ上のフォームにはコンボボックスがあり、更新するフィールドの値はバインドで埋められます。
私の問題:
私は同時にアップデートでサーバーに(idと車値)をコンボボックスvalueFieldとdisplayFieldを送信する必要があります。
これをコンボボックスの設定で直接行う方法や、何らかの方法で別のバインド/値を追加する方法はありますか?
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',
EDITED:メソッドまたはイベントを使用する必要が私は通常使用
一つの解決策は、次のとおりです。
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({})
は、このために任意の純粋な結合解決策はありますか?
Fabioを渡しました。私が使用した解決策の1つは、同期メソッドの前にある種のextaparametersを追加することです(私の投稿を編集しました)。しかし、私が意図したのは、イベントやメソッドを使わずに値を送ることでした。純粋な縛りを持つマベ。 – josei