2010-09-23 3 views
4

Les données de ma zone de liste déroulante sont chargées après la mise en forme du formulaire.Valeur par défaut de la zone de liste déroulante EXTJS après la mise en page du formulaire

var villeStore = new Ext.data.ArrayStore({ 
      fields: [{name:'idVille'} 
        ,{name: 'ville'}] 
     }); 
var villeInput = new Ext.form.ComboBox({ 
     fieldLabel: 'Ville', 
     store: villeStore, 
     valueField:'idVille', 
     displayField:'ville', 
     typeAhead: true, 
     mode: 'local', 
     triggerAction: 'all', 
     emptyText:'Ville', 
     width:100, 
     id:'villeInput' 
    }); 

Le problème est que je dois afficher le dernier du magasin, mais même avoir le ValueField, parce que lorsque je clique sur un bouton, ce que j'envoie au serveur

Je l'ai fait, mais il ne fonctionne pas, il montre la dernière valeur du magasin, mais ne pas le ValueField

villeInput.store.on('load',function(store) { 
     villeInput.setValue(store.getAt(villeInput.store.getCount()-1).get('ville')); 
    }); 

Répondre

1

Essayez ceci:

villeInput.store.on("load", function(store) { 
       villeInput.setValue(ActualidVille, false); 
    }, this); 
+0

Il ne me donne pas quelque chose :( –

4

Le problème est que vous devez définir la valeur du combo en utilisant la valueField (qui est idVille) au lieu du displayField:

villeInput.store.on('load',function(store) { 
    villeInput.setValue(store.getAt(villeInput.store.getCount()-1).get('idVille')); 
}); 
Questions connexes