`

拖拽时自动展开 Tree 节点

阅读更多

 

有时候我们想要对Tree进行拖拽操作,把一个节点从父节点拖拽到另一个节点下。但是Tree本身不提供自动展开节点功能。假设Tree的结构是这样的:

-parent1
-item1
-item2
-parent2
-item3
-item4

如果我想要把 item4 拖拽到parent1下面,就要先把 parent1和parent2都展开,比较麻烦,下面是自动展开的解决方案:

private function dragOverHandler(event:DragEvent):void
{
var currNodeOver : TreeItemRenderer= TreeItemRenderer(event.currentTarget.indexToItemRenderer(event.currentTarget.calculateDropIndex(event)));

if (currNodeOver !=null)
{
if(Tree(event.currentTarget).dataDescriptor.isBranch(currNodeOver.data) == true)
{
if (Tree(event.currentTarget).isItemOpen(currNodeOver.data)==false)
Tree(event.currentTarget).expandItem(currNodeOver.data,true,true);
}
}
}

然后把 Tree 的 dragOver 设定为 dragOverHandler ,dragOver=”dragOverHandler(event)” 。然后就OK了。

 

转自:http://www.zhuoqun.net/html/y2008/989.html  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics