Ciao a tutti, mi chiedevo se avete qualche url, pdf ecc. che spieghi in maniera decente il data binding in flash, cosa fanno i vari component del remoting ecc. perchè la documentazione che trovo in giro la trovo angosciante. Grazie, ciao!
Ciao a tutti, mi chiedevo se avete qualche url, pdf ecc. che spieghi in maniera decente il data binding in flash, cosa fanno i vari component del remoting ecc. perchè la documentazione che trovo in giro la trovo angosciante. Grazie, ciao!
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
Qua ci sono cose molto interessanti: http://www.flash-db.com/Tutorials/
grazie negatyve! O ho disimparato ad usare google, o sono bollito...
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
scusatemi, ma non trovo quello che cerco. ecco il prob: tramite amfphp ricevo un recordset in flash. quando lo ricevo viene eseguita questa funzione:
holdrs è un component di tipo DataSet. quello che non riesco a fare è il binding tra holdrs e un component listbox. per l'esattezza non riesco a fare in modo che i titoli diventino i 'label' del listbox, e gli altri campi diventino i 'data'. se qualcuno ha già usato 'ste cose, e mi potesse un pochino spiegare binding e magari schema... Grazie, ciao!codice:mainResponder.legginews_Result = function(result) { //resultè il recordset holdrs.dataProvider = result; trace(holdrs.titolo); //mi restituisce il titolo della news del primo record. };
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
Puoi fare qualcosa così:
In questo modo "titolo" diventa "label", e il campo "altro_campo" diventa "data". Ma ti ripeto, se si tratta semplicemente di popolare il component List con i dati ricevuto, tanto vale un banalissimo ciclo (sempre meno che importare delle Classi ed eseguire tutta una serie di sostituzioni di stringhe per ottenere la stessa cosa):codice:mainResponder.legginews_Result = function(result) { import mx.data.binding.*; import mx.data.formatters.RearrangeFields; var src = new EndPoint(); src.component = holdrs; src.property = "items"; src.event = "modelChanged"; var end = new EndPoint(); end.component = listbox; end.property = "dataProvider"; new Binding(src, end, {cls:RearrangeFields, settings:{fields:'label=titolo;data=altro_campo'}}, false); holdrs.dataProvider = result.items; listbox.changeHandler = function() { trace(this.selectedItem.data) } }
codice:mainResponder.legginews_Result = function(result) { var dp:Array = new Array(); for(var i:Number = 0; i < result.items.length; i++){ var item:Object = result.items[i]; dp.push({label:item.titolo, data:item}); } listbox.dataProvider = dp; listbox.changeHandler = function() { trace(this.selectedItem.data.altro_campo) } }
grazie nega! scusa se te lo chiedo, ma avevo letto questo articolo e quindi, visto che - se non sbaglio - il binding sostituisce il dataglue, pensavo fosse più veloce del semplice ciclare.
Comunque ho risolto così (non ti dico quanto ho cercato per trovare questa soluzione):
mainResponder.legginews_Result = function(rs) {
lista_news.dataProvider = rs;//rs è il recordset
lista_news.labelField = "titolo";//titolo è il nome del field che mi interessa
};
grazie mille cmq, imparo da tutto!
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
Si si, ancora meglio e più veloce la tua soluzione.. :)