J'utilise le code suivant pour charger XML directement dans une grille de données:Comment commander des colonnes DataGrid dans AS3?
import flash.events.Event;
import fl.data.DataProvider;
import flash.net.URLRequest;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, directoryXMLLoaded);
function directoryXMLLoaded(e:Event){
var dp:DataProvider = new DataProvider(new XML(e.target.data));
directoryGrid.dataProvider = dp;
}
loader.load(new URLRequest("xml/directory.xml"));
Comment puis-je réorganiser mes colonnes en fonction du titre?
EDIT:
Mon XML ressemble à ceci:
<?xml version="1.0" encoding="UTF-8"?>
<contacts>
<contact first="Moshe" last="Doe" address="555 5th St" city="Somwhere" state="AA" zip="555555" phone="555-555-5555" />
<contact first="Moshe" last="Doe" address="555 5th St" city="Somwhere" state="AA" zip="555555" phone="555-555-5555" />
<contact first="Moshe" last="Doe" address="555 5th St" city="Somwhere" state="AA" zip="555555" phone="555-555-5555" />
</contacts>
Je veux que les colonnes apparaissent dans l'ordre des attributs (En tant que premier, dernier, adresse, ville, état, code postal , téléphone), mais ils ne le sont pas.
EDIT2:
TheDarklnl a la bonne réponse. Je l'ai implémenté légèrement différemment cependant:
function directoryXMLLoaded(e:Event){
var dp:DataProvider = new DataProvider(new XML(e.target.data));
directoryGrid.addColumn("first");
directoryGrid.addColumn("last");
directoryGrid.addColumn("address");
directoryGrid.addColumn("city");
directoryGrid.addColumn("state");
directoryGrid.addColumn("zip");
directoryGrid.addColumn("phone");
directoryGrid.dataProvider = dp;
}
En fait, je suis le chargement d'un fichier XML directement dans un DataGrid à l'aide du code ci-dessus. Je veux que les colonnes apparaissent dans le même ordre que les attributs xml, mais cela semble brouiller l'ordre.Je ne sais pas quel est l'ordre qu'il utilise, mais il est cohérent à chaque fois, mais pas ce que je veux. – Moshe
ah .. je vois ce que tu veux dire. J'ai mis à jour ma réponse. – TheDarkIn1978
En fait, j'ai fait la même chose en ajoutant manuellement toutes les colonnes en premier. Votre solution est meilleure. – Moshe