J'ai un projet Flex qui est fait de composants jusqu'à plusieurs personnalisés qui sont principalement basées sur des listes VBox
d'une certaine forme ou de la mode allant de Tree
à AdvancedDataGrid
. Ma vue principale se compose de deux composants personnalisés dont l'un contient un Tree
et un autre un AdvancedDataGrid
.Flex Drag n drop entre les composants
En utilisant le d-n-d intégré standard dans ces composants, je ne suis pas en mesure d'exécuter d-n-d. J'ai donc mis en œuvre d-n-d en utilisant DragManager
et les événements nécessaires (mouseDown
, dragEnter
, et dragDrop
) sur ces composants et cela fonctionne. Cependant, cette approche semble compliquer les autres événements tels que double clic et clic droit actions.
Existe-t-il une solution pour avoir n-d natif avec ce type d'approche?
LeftSide.mxml:
<VBOX>
<Tree/>
</VBOX>
RightSide.mxml:
<VBOX>
<AdvancedDataGrid/>
</VBOX>
main.mxml:
<Application>
<HBOX>
<LeftSide/>
<RightSide/>
</HBOX>
</Application>
Désolé, j'ai remplacé depuis longtemps l'ancienne méthode de glisser avec un contrôle List personnalisé. La création d'un DraggableTreeControl qui implémente le glisser serait-elle une solution viable? – Aethex
Il pourrait ... aurais-je aussi besoin de créer un DraggableAdvancedDataGrid (ou autre) pour l'autre extrémité ou juste l'initiateur de glissement? Aussi, y a-t-il quelque chose de spécial qui doit aller dans l'événement dragDrop pour corriger voir où dans la liste déroulante que l'élément a été abandonné? – Los
Voir ce site Web: http://www.adobe.com/devnet/flex/quickstart/adding_drag_and_drop/ Vous en connaissez probablement la plupart, mais cela pourrait être utile. Essayez également de regarder la source du contrôle List - qui a intégré le support glisser/déposer. En ce qui concerne le DraggableAdvancedDataGrid, probablement, mais cela dépend des différentes installations qu'AgeDataDataGrid a déjà. – Aethex