2017-12-12 3 views
0

Betrachten Sie eine App mit einem Raster, einem Formular und einem Fenster.Combobox: Werte von valueField und displayField an Server senden in Update

Wenn ich eine Rasterzeile auswähle, werden die Datensatzdaten (Detail) in Form angezeigt (bindend).

Mit dblclick Ereignis in der Rasterzeile wird ein Fenster mit Formular angezeigt, um den Datensatz zu aktualisieren, und Felder sind ausgefüllt (bindend).

Das Formular im Fenster verfügt über eine Combobox mit einem Speicher und der Wert des zu aktualisierenden Feldes wird durch Bindung gefüllt.

Mein Problem:

Ich brauche Combobox Valuefield und displayField zum Server in Update (die ID und Autos Wert) gleichzeitig zu senden.

Gibt es eine Möglichkeit, dies direkt mit einer Combobox Config zu tun oder in irgendeiner Weise einen anderen Bind/Wert hinzuzufügen?

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:

Eine Lösung, die ich in der Regel verwenden, die die Verwendung eines Verfahrens oder ein Ereignis erfordert, ist:

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({}) 

Gibt es eine reine Bindung Lösung für dieses?

Antwort

1

Senden Sie die Werte über Store Sync() an den Server? Sie könnten dem Modell ein neues Feld hinzufügen, um den displayField-Wert zu speichern und dieses Feld im Ereignis 'Select' des Kombinationsfelds zu aktualisieren.

+0

Obrigado por ajudar Fabio. Eine Lösung, die ich verwendet habe, ist, eine Art von Extaparametern vor der Synchronisierungsmethode hinzuzufügen, die gut funktioniert (ich habe meinen Beitrag bearbeitet); Was ich jedoch beabsichtigte, war, die Werte zu senden, ohne irgendein Ereignis oder eine Methode zu verwenden. Mabe mit "reiner Bindung". – josei

Verwandte Themen