2013-08-13 17 views
10

Kullanıcı verileri için birçok textfields var. ve bunu DB'den kurmak istiyorum.extjs textfield için Value değeri nasıl ayarlanır?

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

i harici sınıf yöntemi ile openDB.js adında var getUserByUsername() burada onun başka görünümde kullanılacak kadar küçük bir koddur ve işe yarıyor, ama benim actuall görünümde i textfield Değeri ayarlamak yakamazlar. lütfen bunu nasıl yapacağınıza yardım edin? i Sencha Forumda bazı yöntem buldum ama bunu kullanabilirsiniz

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

i value: 'Admin' ile böyle bir şey yapmak istiyorum ve benzeri ... ??

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

cevap

30

-> EN İYİ ÇÖZÜM:

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

Mükemmel, eğer bir kaç tane varsa, şunları yapabilirsiniz: Ext.Object.each (değerler, fonksiyon (anahtar, değer) {Ext.getCmp (key) .setValue (value);}); – dviramontes

+0

Bir çekicilik gibi çalışır! Oylamaya sevindim! – Hari

+0

Bir çekicilik gibi çalışır! Sağol kanka. – Neotrixs

1

Neden sadece bir model oluşturup formunuz için depolamıyor ve loadRecord yöntemini kullanıyorsunuz? Bununla mücadele birkaç saat sonra

+0

loadRecord() fonksiyonu tek bir kayıt doğru bekliyor? Ext.store'un durumu, veriler formunkilerden farklı olabilir. – dviramontes

İlgili konular