2009-12-17 20 views
0

J'ai travaillé avec le glisser-déposer d'éléments dans une liste horizontale dans Flex. Cela fonctionne bien, mais maintenant je dois enregistrer la nouvelle commande via AMF dans ma base de données. Je suis sûr que c'est assez facile, mais je ne l'ai pas encore compris.Flex - Enregistrement d'une nouvelle commande d'éléments d'une liste horizontale à l'aide d'AMF

Existe-t-il un moyen de faire du cycle (après la réorganisation) tous les éléments afin que je puisse obtenir pour chaque élément son (nouveau) index?

Et je remarque que même si je change l'ordre, l'ordre dans le dataProvider est toujours le même ...

C'est ma liste:

<mx:HorizontalList id="horizontalList" 
    allowMultipleSelection="true" 
    allowDragSelection="true" 
    dragEnabled="true" 
    dropEnabled="true" 
    dragMoveEnabled="true" 
    labelField="lbl" 
    iconField="src" 
    itemRenderer="CustomItemRenderer_gallery" 
    columnCount="5" 
    columnWidth="125" 
    rowHeight="125" 
    horizontalScrollPolicy="on" 
    doubleClickEnabled="true" 
    click="{click(event);}" 
    dragDrop="handleBtnReorder(event)" 
    doubleClick="doubleClick(event);" /> 

Répondre

0

Je voudrais juste une boucle sur les listes dataProvider sur lequel vous avez déplacé les éléments ... lors de la mise en boucle stockez la nouvelle commande (i) dans une variable de votre ArrayCollection en remplissant dataProvider ... puis convertissez ArrayCollection en un tableau à transmettre à votre serveur pour traitement.

quelque chose comme:

for(var i:int = 0; i < yourList.dataprovider.length; i++) 
{ 
    yourList.dataProvider.getItemAt(i).order = i; 
} 
// then convert the ArrayCollection to an Array and pass to your RemoteObject. 
+0

je faire glisser les éléments dans la même liste et l'ordre dataProvider ne change pas ... Je pensais qu'il y avait une sorte de méthode native, même quelque chose héritée de la liste classe. –

+0

mon erreur, j'utilisais le mauvais événement, dragDrop .. au dragComplete, le dataProvider a changé et je peux faire tous les arrangements nécessaires :) merci! –