拖拽时自动展开 Tree 节点
2009-09-29 09:39
429 查看
有时候我们想要对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了。
-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了。
相关文章推荐
- Flex:拖拽时自动展开 Tree 节点
- Flex中在Tree绑定数据后自动展开树节点的方法
- 在Flex中让Tree绑定数据后自动展开树节点
- 在Flex中让Tree绑定数据后自动展开树节点
- tree节点自动展开
- tree节点自动展开
- Flex中实现Tree绑定数据后自动展开节点
- ExtJs中实现tree节点,全部是单击展开和收缩效果,和收藏夹点击功能一样
- Tree 功能强大,包含checkbox,自动选择子节点和父节点.
- FLEX教程:设置缓动展开TREE控件节点.
- TreeList的父节点展开和收缩子节点时,图标为“+”“—”
- FLEX中Tree默认展开所有节点
- Tree的全部节点展开
- Flex tree 展开任意想展开的节点
- Flex的Tree全部展开收缩,ji展开选中单个节点
- ztree根据treeId展开指定节点并触发单击事件
- easyui-tree.动态展开节点
- extjs tree节点展开后无法关闭的问题
- [extjs] ExtJS4 treepanel 子节点选中父节点自动选中,选中父节点 子节点自动全部选中
- extjs4.0 treepanel节点的选中、展开! 数据的重新加载! checked树