Drag Drop desde un TileList sobre un Tree


Hola a todos,
resulta que el componente Tree es algo especial y prueba de ello es su comportamiento frente a eventos Drag&Drop originados en otros componentes.

Recientemente me he encontrado con un problema, y era que desde un componente TileList no podría hacer drag de un elemento y hacer drop sobre ningún nodo del Tree. El tree era incapaz de detectar el evento dragDrop de ninguna de las maneras.

Al final la solución pasó por crear un itemRenderer que hereda del componente TreeItemRenderer, y éste se encarga de detectar el evento dragDrop realizado sobre el propio nodo y lanzar el evento hacia su owner, que en este caso sería el propio Tree.

Os adjunto un ejemplo donde se ve un mismo Tree, cuyo dataProvider es el mismo y las propiedades idénticas salvo el itemRenderer. El primer Tree no tiene itemRenderer y el segundo si. Cuando el segundo Tree lanza el evento DragDrop, muestro un Alert con la información del Evento.

Espero que os ayude.

  Ver el código fuente
  Bajar el ejemplo (Flex 2.01)

This movie requires Flash Player 9

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts
Flex Accordion con icono a la derecha
Google Maps API for Flash/Flex

Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

Reader Comments

Muy interesante… La verdad es que el componente Tree se las treeae (festival del humor! :P)

Seguro que el proyecto en el que salga este Tree quedará de maravilla… ;)

Un saludo!

j

xDD
está quedando de maravilla si :)

Por cierto, 12:42 am? vosotros treebajais mucho no ?

Ya sabes que si… :P