2013-08-13 15 views
10

Ho molti campi di testo per i dati utente. e desidero impostarlo da DB.come impostare il valore per il campo di testo extjs?

items: [{ 
         xtype: "form", 
         bodyPadding: 5, 
         border: false, 
         defaults: { 
          xtype: "textfield", 
          inputType: "text", 
          anchor: "100%" 
         }, 
         items: [{ 
          fieldLabel: 'Username:', 
          readOnly: true, 
          value: 'Admin', 
          name: "username" 
         }, { 

ho classe esterno denominato openDB.js con metodo getUserByUsername() qui è piccolo codice come la sua sarà utilizzato in altra vista e funziona, ma a mio avviso actuall i cant impostare il valore del campo di testo. per favore aiuto come farlo?

openDB.getUserByUsername(user.username).then(function(userDetails) { 
      me.setTitle("Welcome " + userDetails.mail + "!"); 
     }); 

voglio fare qualcosa di simile con value: 'Admin' e così via ...

ho trovato un po 'di metodo sul Forum Sencha, ma posso usarlo ??

setValue: function(value) { 
     var me = this; 
     me.setRawValue(me.valueToRaw(value)); 
     return me.mixins.field.setValue.call(me, value); 
    }, 

risposta

30

dopo paio d'ore di lotta con quella -> SOLUZIONE MIGLIORE MAI:

funzione
items: [{ 
         fieldLabel: 'Username:', 
         id: 'usernameID', 
         readOnly: true, 
         value: user.username, 
         name: "username" 
}] 
... 
var name = Ext.getCmp('usernameID').setValue('JohnRambo'); 
+1

Eccellente, se ne hai un numero puoi: Ext.Object.each (valori, funzione (chiave, valore) {Ext.getCmp (chiave) .setValue (valore);}); – dviramontes

+0

Funziona come un fascino! Sono contento di votare! – Hari

+0

Funziona come un fascino !! Grazie compagno. – Neotrixs

1

Perché non appena istituito un modello e negozio per il modulo e utilizzare il metodo loadRecord?

+0

loadRecord() si aspetta un singolo record corretto? Lo stato di Ext.store, i dati potrebbero essere dissimili da quelli del modulo. – dviramontes