2010-11-25 7 views
0

Ich habe eine DataView, die eine Liste von Bildern anzeigt, die von einem JsonStore geladen werden. Das für jedes Bild erforderliche Label ist jedoch kein verfügbares Attribut innerhalb des JsonStore - mit anderen Worten, für jeden Datensatz im Store muss ich das Label von einem anderen Service (über eine AJAX-Anfrage) abrufen.Benutzerdefinierte JsonStore- und Template-Implementierung ExtJs

Ist es möglich, eine benutzerdefinierte Funktion aufzurufen, um das Etikett zu holen, bevor jedes Bild vom JsonStore angezeigt wird?

Hier ist meine aktuelle Implementierung:

var view = new Ext.DataView({ 
    store: new Ext.data.JsonStore({ 
     autoLoad:false, 
     root: 'root', 
     id:'ID', 
     fields:['ID'] 
    }), 
    tpl: new Ext.XTemplate(
     '<tpl for=".">', 
     '<div class="wrapper" id="{ID}">', 
     '<div class="thumb"><a href="'+ URL +'{ID}" title="{*label here*}">', 
     '<img src="'+ THUMB_URL +'{ID}"></a></div>', 
     '<span>{*label here*}</span></div>', 
     '</tpl>' 
     ) 
}); 

Dank!

Antwort

1

Entschuldigung für die Beantwortung meiner eigenen Frage, aber es sieht so aus, als ob prepareData genau das tut, was ich will - erlaubt mir, auf jeden einzelnen Datensatz im Geschäft zu handeln, bevor es zum Formatieren gesendet wird.

Verwandte Themen