2009-08-14 4 views
0

OK J'ai un AdvancedDataGrid. Les données que je nourris est XML qui ressemble à ceci:Flex: Mise à jour de la base de données après glisser-déplacer?

<stat associate="Sam Smith" date="07/08/09" customer="James Frank"/> 
<stat associate="John Doe" date="09-07-08" customer ="Amanda Jones"/> 
<stat associate="John Doe" date="09-07-09" customer ="Henry Scott"/> 

Mais je groupe par associé il finit par ressembler à un arbre comme celui-ci:

Sam Smith 
07/08/09 James Frank 

John Doe 
09-07-08 Amanda Jones 
09-07-09 Henry Scott 

Je suis en train de faire en sorte Vous pouvez réaffecter des clients à différents associés en les faisant glisser de l'un à l'autre. Je mets dragMoveEnabled pour que je puisse réellement cliquer dessus et le déplacer vers un autre associé et cela fonctionne visuellement parfaitement. Mais j'ai besoin de détecter qui a reçu quoi, donc je peux mettre à jour la base de données avec le changement.

Est-ce que quelqu'un sait comment faire cela?

Merci!

MISE À JOUR: J'ai essayé de regarder les données à plat après comme ceci:

public function onDragComplete(event:Event):void 
{ 
    var adg:AdvancedDataGrid = AdvancedDataGrid(event.currentTarget); 
    var hcv:HierarchicalCollectionView = HierarchicalCollectionView(adg.dataProvider); 
    var gc:GroupingCollection = GroupingCollection(hcv.source); 
    trace(gc.source); 
} 

Et il n'a pas changé, peut-être les changements de données non-plats tho, mais je ne suis pas sûr de savoir comment voir les données non-plates?

Répondre

0

Je crois que les modifications apportées à DataGrid devraient changer le fournisseur de données sous-jacent. Vous pouvez écouter les modifications apportées à dataProvider (par exemple, l'événement PropertyChanged pour ArrayCollections), puis envoyer la modification au serveur.

+0

Merci pour votre commentaire, j'ai vu les données à plat par la suite et il ne change pas. J'ai ajouté un autre échantillon de code à ma question pour montrer comment je l'ai vérifié. Peut-être que si je pouvais voir les données non-plat ... pas sûr de savoir comment? –

+0

Hmmm ... vous devrez peut-être parcourir les noeuds et afficher les données de cette façon. Sinon, il se peut que la liste des données soit plate. – CookieOfFortune

Questions connexes