J'ai un ComboBox avec un magasin json distant.Comment sélectionner un enregistrement spécifique du magasin dans un ComboBox (ExtJS)
Il permet à l'utilisateur de taper 3+ caractères, puis interroge, affiche la liste et permet à l'utilisateur de sélectionner une option. Lorsque l'utilisateur sélectionne une option, il utilise Ext.data.Record associé à l'option sélectionnée pour remplir d'autres champs ailleurs dans le formulaire. Cela fonctionne correctement.
Maintenant, je veux être en mesure de pré-remplir les champs précités, en utilisant les fonctions que j'ai déjà écrites dans le cadre de la liste déroulante. Ce que je suis venu avec, est d'ajouter un "enregistrement artificiel" à la boutique ComboBox, puis forcer sa sélection - qui déclencherait toutes les bonnes fonctions et peupler les autres champs, etc.
Ce que j'ai c'est fonction à l'intérieur de la zone de liste déroulante (je l'ai créé une coutume par une ComboBox extension):
loadRecord : function(record){
var data = {
"results":1,
"rows":[
record
]
}
this.store.loadData(data); // I realize I could just use store.add() instead.
alert(this.store.getCount()); // returns 1, so the record is in
// Here is where I'd need to make a call to select this record.
}
J'ai essayé this.select() et this.selectByValue() mais en vain. Sachant que l'enregistrement est dans le magasin, quelle est la bonne façon de le sélectionner à partir du code?
Merci d'avance.
Salut à tous, Merci pour votre réponse. getAt() me rendra le record, mais j'ai déjà le record. J'ai besoin de tromper tout le ComboBox en croyant que l'utilisateur a sélectionné le dit enregistrement. J'ai trouvé une solution qui fonctionne dans mon cas spécifique, mais ce n'est pas trop élégant, et j'aimerais quand même savoir s'il y a une approche plus générale. Merci encore. – SuitedSloth