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)



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