![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
Приветствую!
Вынужден еще раз вернутся к вопросу drag&drop Я пытаюсь реализовать mx:Tree с возможностью перетаскивать элементы дерева в пределах одного уровня вложенности но разных веток. Тобиш таскаемая ветка ни при каких условиях не должна менять уровень вложенности. Tree: <mx:Tree
labelField="@label" showRoot="false"
dragEnabled="true" dropEnabled="true"
dragDrop="dragDropHandler(event);"
dataProvider="{MyXML}">
</mx:Tree>
<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> 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 мы перетянули объект? |
|
|||||
|
Регистрация: Sep 2007
Адрес: Путенбург
Сообщений: 147
|
Цитата:
Обработчик ловит индекс видимого объекта над которым мы тащим курсор и получает ссылку на ноду, если она есть. Это не обязательно ловить на dragOverHandler можно ловить и на dragDropHandler.
__________________
<!-- КРЭКС ПЭКС ФЛЭКС --> |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
var node_t:Array = event.dragSource.dataForFormat("treeItems") as Array
Alert.show(String(node_t[0]));
А ни у кого нет под рукой примера с подробным разбором, в какой переменной, что лежит в событии DragEvent В каком событии можно после некой проверки запрещать или разрешать "drop"? Последний раз редактировалось SSergeyS; 03.03.2008 в 12:02. |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
Вся проблема в том что «drag&drop» происходит в пределах одного компонента "Tree"?
У меня не получается нормально отследить все этапы перетаскивания элементов и при необходимости отменить или запретить перетаскивание текущего элемента. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|