`

拖拽时自动展开 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  

分享到:
评论

相关推荐

    基于vue、iview实现tree组件可拖拽、双击编辑

    IView中的`Tree`组件提供了多种交互方式,包括展开/折叠节点、选择节点以及自定义操作等。 实现节点拖拽功能需要结合Vue的响应式特性与HTML5的拖放API(Drag and Drop API)。首先,在`Tree`节点上设置`draggable`...

    完成Ext tree 拖拽节点到 textfield 控件中

    以前有许多人需要将 tree 的节点拖拽到其他控件中的问题,前段时间已经解决了,现在也将它的源代码贡献上来。 这个树的数据是静态的,没有做动态的,而且树节点的拖拽也没有做过多的处理,如果要知道怎么样做树...

    可自定义树节点的Tree组件

    `可自定义树节点的Tree组件`是一个专为满足这种需求而设计的功能强大的工具。它允许开发者根据具体项目的需求来定制树形结构的节点展示,提升用户体验并优化数据管理。在本文中,我们将深入探讨这个组件的工作原理、...

    flex中 Tree树节点内部拖动实例(此实例限制了什么节点可以拖动及拖动到什么位置)

    在本文中,我们将详细探讨如何在Flex的Tree组件中实现节点的拖放操作,并且限制可拖动的节点以及拖动的目标位置。 首先,我们需要了解Flex Tree组件的基本用法。Tree组件用于显示层次结构的数据,每个节点代表数据...

    基于iView和he-tree-vue的一个拖拽树形组件

    3. **拖拽功能**:用户可以通过鼠标拖动节点改变树形结构,这种功能在组织结构、任务分配或者文件管理场景下非常实用,允许用户自由调整数据层次关系。 4. **增、删、改功能**:组件支持添加新的子节点、删除节点...

    el-tree创建结构线,并且可拖动

    el-tree创建结构线,并且可拖动

    可随意拖动(移动)节点的tree 控件树

    可以实现节点的自由拖动,包含所有的源码和使用方法,适用于一些权限管理的项目。可将拖动后的节点顺序保存在数据库中.上传的为一个网站,只需在不低于Vs2005版本的开发环境上运行即可演示效果,.有意志请加QQ:...

    YUI3 实现overlay展开是tree,并且树节点可以拖拽-drag和drop

    在这个场景中,我们讨论的是如何使用`YUI3`实现一个特殊的组件——一个可展开的`Overlay`,它内部展示了一个树形结构(Tree),并且树节点支持拖放(Drag and Drop)功能。 首先,`Overlay`是`YUI3`中的一个基础...

    ElementUI中el-tree节点的操作的实现

    此外,`el-tree`还提供了其他实用方法,如`getCheckedNodes()`返回选中节点的对象数组,`setCheckedKeys()`可以设置选中节点,`expandAll()`和`collapseAll()`用于展开或折叠所有节点。这些方法配合事件监听和数据...

    VC Tree树状节点拖动示例

    "VC Tree树状节点拖动示例"是一个关于如何在VC6.0环境下实现`CTreeCtrl`树形控件的节点拖放功能的教学资源,它包含实例源码和图文教程,可以帮助开发者了解和学习这一功能的实现。 拖放操作在用户界面上是一种常见...

    生成可拖拽的树状结构,节点可以通过拖拽移动,插入

    在Swing中,我们可以利用JTree创建一个可拖放(Drag and Drop)的树状结构,使得用户能够通过简单的拖拽操作来移动或插入节点。这种功能在数据组织和展示时非常实用,例如在文件系统管理、项目管理或复杂数据结构的...

    TreeCtrl拖拽

    "TreeCtrl拖拽"是一个特定的功能,允许用户通过鼠标拖动节点来重新组织树状结构,提供更直观的操作体验。 在Windows SDK中,实现TreeCtrl的拖放功能主要涉及以下几个关键步骤和知识点: 1. **启用拖放支持**:首先...

    完成Ext 拖拽树后对新的树节点顺序进行保存

    在IT领域,拖拽功能是用户界面中常见的一种交互方式,尤其在数据可视化和管理工具中,例如ExtJS的树形组件(Tree)。本项目主要关注如何在完成拖拽操作后,更新并保存树节点的新顺序。ExtJS是一个强大的JavaScript库...

    ztree BeforeDrop 设置拖拽节点隐藏,结果拖拽后的节点也一起隐藏了

    本文将深入探讨在使用ZTree时遇到的一个问题:“BeforeDrop”事件中设置拖拽节点隐藏后,导致拖拽后的节点也一起隐藏的问题。 首先,我们需要理解ZTree的`BeforeDrop`事件。这个事件在节点即将被拖放到新位置之前...

    QT树节点拖拽,支持两个QTreewidget相互拖拽

    `dragMoveEvent()`处理拖动过程中的事件,而`dropEvent()`则在释放鼠标时执行,进行实际的数据转移。 3. **数据传输** 在拖放过程中,数据通常通过`QMimeData`对象传递。你需要创建一个`QMimeData`实例,并在拖放...

    jsTree 很好用的动态加载数

    你可以设置初始状态、决定是否显示图标、调整节点展开和折叠的动画效果等。此外,jsTree 使用 CSS 进行样式控制,这意味着你可以轻松地改变树的视觉样式以适应你的网站设计。 **API 与事件** jsTree 提供了一套...

    easyui datagrid 拖拽到 tree

    3. **数据处理**:当用户从datagrid拖放一行到tree时,需要处理数据的转移。通常,你需要获取被拖放行的数据,然后将其添加为tree的新节点。这可能涉及到后台接口的调用,以便将数据保存在正确的位置。 4. **事件回...

    拖拽节点和树上节点拖拽移动.zip

    "拖拽节点和树上节点拖拽移动.zip"这个压缩包文件显然包含了一个关于如何在Windows应用程序中实现拖放功能的示例代码,特别是针对VC++编程环境。在Windows编程中,MFC(Microsoft Foundation Classes)库被广泛用于...

    layui-tree树形组件改写,可编辑、上移、下移、拖拽修改

    将文件直接复制到layui/lay/modules目录下,会覆盖layui原有的tree.js,调用方法与layui树形组件的适应方式一致,新增的方法可在文件中查看

    flex tree 拖拽

    拖拽功能则为 Tree 提供了更丰富的交互性,让用户可以通过拖放操作来重新排列节点或移动节点到不同的位置,这在需要调整结构或分类数据的场景中非常有用。 在 Flex Tree 的拖拽操作中,主要涉及以下几个核心知识点...

Global site tag (gtag.js) - Google Analytics