2009-08-25 9 views
0

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> 

Répondre

0

Je ne pense pas .... Mais que Je l'ai fait il y a longtemps était seulement commencer le glisser si l'utilisateur maintient la souris et l'a maintenu pendant une période de temps ou mo Ved it une distance certian. Je ne me souviens pas des détails, mais je vais essayer de découvrir comment je l'ai fait bientôt.

+0

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

+0

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

+0

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

Questions connexes