Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795

    [mx2] una guida sul data binding?

    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>

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Qua ci sono cose molto interessanti: http://www.flash-db.com/Tutorials/

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    grazie negatyve! O ho disimparato ad usare google, o sono bollito...
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    scusatemi, ma non trovo quello che cerco. ecco il prob: tramite amfphp ricevo un recordset in flash. quando lo ricevo viene eseguita questa funzione:
    codice:
    mainResponder.legginews_Result = function(result) {
            //resultè il recordset
    	holdrs.dataProvider = result;
    	trace(holdrs.titolo); //mi restituisce il titolo della news del primo record.
    };
    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!
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Puoi fare qualcosa così:

    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)
    	}
    }
    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)
    {
    	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)
    	}
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    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>

  7. #7
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Si si, ancora meglio e più veloce la tua soluzione.. :)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.