Показать сообщение отдельно
Старый 28.02.2008, 13:17
SSergeyS вне форума Посмотреть профиль Отправить личное сообщение для SSergeyS Найти все сообщения от SSergeyS
  № 1  
Ответить с цитированием
SSergeyS

Регистрация: Sep 2007
Сообщений: 36
Question drag&drop в mx:Tree

Приветствую!
Вынужден еще раз вернутся к вопросу drag&drop
Я пытаюсь реализовать mx:Tree с возможностью перетаскивать элементы дерева в пределах одного уровня вложенности но разных веток. Тобиш таскаемая ветка ни при каких условиях не должна менять уровень вложенности.
Tree:
Код:
<mx:Tree
labelField="@label" showRoot="false"
dragEnabled="true" dropEnabled="true" 
dragDrop="dragDropHandler(event);"
dataProvider="{MyXML}">
</mx:Tree>
MyXML:
Код:
<root>
<node isBranch='true' l=”0” label=”1”>
	<node l=”1” label=”a”></node>
<node l=”1” label=”b”></node>
</node>
<node isBranch='true' l=”0” label=”2”>
</node>
<node isBranch='true' l=”0” label=”3”>
	<node l=”1” label=”c”></node>
</node>
</root>
dragDropHandler:
Код:
private function dragDropHandler(event:DragEvent):void
{			 
var node_t:Array = event.dragSource.dataForFormat("treeItems") as Array;
Alert.show(String(node_t[0].@l));

дальше проверка вложенности и соответственно перемещение нода.
}
Я застрял на последней функции.
Посмотрел доку про DragEvent и DragManager. Но не могу разобраться как получить оба нода:в который перетаскивается и тот который мы непосредственно тянем. Чтобы сделать нормальную проверку и, например, записывать в историю, что куда перетягивали.

В event.currentTarget лежит Все дерево с dataProvider но как понять в какой именно нод MyXML мы перетянули объект?