-
datagrid
Ciao a tutti..ho un piccolo problema con flash.Devo riempire un datagrid con dei dati presi da un file xml.Dato che non si sa a priori la lunghezza dei dati da inserire nei campi..come faccio a dimensionare la larghezza delle colonne dinamicamente?
Grazie mille..
-
Ciao manu,
non è cosa semplice quello che chiedi.
Vediamo un po, incominciamo col dire:Per popolare il datagrid devi passargli un Array di oggetti:
Ad esempio:
trascina un'istanza di un datagrid nello stage e chiamalo my_dg.
Poi nel frame della timeline scrivi:import mx.controls.DataGrid; var dg:DataGrid=this.my_dg; var data_array:Array=new Array({name:'filippo', price:2000},{name:"francesco", price:3000}, {name:"luca", price:1500}); dg.dataProvider=data_array; dg.setSize(200,200);
Questo è un piccolo esempio.
Se carichi l'xml , ad esempio crei un oggetto per ogni tag e assegni all'oggetto tante proprietà quante sono le proprietà nello stesso tag xml...
Poi fai un push nell'array e quando hai finito di leggere l'xml passi l'array come dataprovider al datagrid.Fatto questo dovresti fare anche dei calcoli matematici non indifferenti per calcolare width ed height del datagrid in base a quante stringhe di dati hai nell'xml (e quindi nell'array).
Insomma, è una cosa che io personalmente mi dovrei mettere a scriverla e mi richierebbe una discreta 'fatica' per poterlo fare.
Non conosco il tuo livello di programmazione ma di certo quello che chiedi è fattibile con un buon background di OOP alle spalle e diversi mesi di studio.
-
Grazie mille per la risposta..ma in effetti la situazione è abbastanza complicata.Posso farti un'altra domanda?
Io devo prelevare i dati da un database tramite php e passarli all'interfaccia flash.Avevo pensato di usare come tramite un file xml.Il problema è che i dati sono tantissimi..potrebbero essere anche mille record di 7 campi ciascuno e ho paura che tale file potrebbe assumere dimensioni eccessive.Tra l'altro sarei costretta ad aggiornarlo costantemente ad ogni cambiamento dei dati nel database.
Secondo te che metodo potrei utilizzare x il trasferimento dei dati da php a flash vista la grande quantità?
Grazie mille ancora..ciao
-
E' un grosso problema e ti spiego il perchè:
personalmente ho provato ad inviare da Flash ad uno script php un array di dati con circa 25.000 stringhe e Flash andava in 'palla' perchè pare che abbia un limite di circa 257 stringhe passabili via 'POST' method.Per cui i tuoi 1000 records è un problema.
L'unica soluzione che vedo (di sicuro ottima) è Flash Media server che ti tiene in 'binding' il database con Flash.
-
In effetti io devo usare flash media server..ma ammetto di nn capirci nulla..è la prima volta che ci ho a che fare.
Mi potresti xfavore spiegare un pò meglio la soluzione che hai proposto?Devo comunque usare un file xml come tramite o posso far comunicare direttamente php e flash?
Grazie ancora..ciao
-
Ciao, Flash Media Server non lo conosco.
Ti consiglio di leggerti deitutorials a riguardo, ma credo che non necessiti del file xml in quanto crei un binding col db (non ne sono sicuro).