`
hucanyang
  • 浏览: 3624 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

对带checkbox的dtree树复选操作的一点改进

阅读更多

最近做项目,要用到带checkbox的树,树的规模大概是300-400个节点,于是想到了dtree树,dtree树的特点就是应用起来简单,但是性能不行,特别是节点过多的情况,不过400个节点是没有问题的,过多就不要用dtree树(切记!切记!)

dtree树原来是不带checkbox的,于是在网上找了一段带有checkbox代码,测试(400个节点)发现如果是单选某个叶子节点,速度还可以,如果是选根节点,速度就不行了,查看代码发现单击某个checkbox函数dTree.prototype.cc=function(nodeId){.....},代码要循环所有的树节点找到该节点的父节点和所有的子节点,显然这个是性能差的原因.于是我想是到在第一次加载树节点的时候就找出所有子节点和父节点,触发点击checkbox的时候就不要去循环所有节点了,当然这在加载的时候要耗费不少时间,不过在点击checkbox的时候就快多了.以下是我对dtree树修改的三个地方.

/*修改了Node结构*/

 function Node(id, pid, name, url, title, target, icon, iconOpen, open) {

 .......

 this.chainstr=[];   //子节点位置 子节点可能有多个所以是数组
 this.pidpostion;//父节点位置

}

 

/*修改了加载节点方法,把新增父节点和子节点添加上去*/

dTree.prototype.addNode = function(pNode) {

.....

cn.pidpostion= pNode._ai;
              if(cn.pid==-1)
              {
                cn.pidpostion=-1;
              }
              pNode.chainstr[pNode.chainstr.length]=n;

......

}

 

/*修改了触发选择方法 原来网上是用循环所有树节点方法,这里使用直接找父节点和子节点*/

dTree.prototype.cc={....}

 

具体代码看上传文件

 

总结:

dtree树的特点就是应用起来简单,但是节点过多就不要用dtree树

分享到:
评论

相关推荐

    dtree和dtree_checkbox(dtree复选框)

    dtree_checkbox是dtree的一个增强版本,它引入了复选框功能,使得用户可以选择一个或多个节点。这一特性在需要多选操作的场景下非常实用,例如在文件管理器中选择多个文件进行操作。dtree_checkbox的主要特点包括: ...

    dtree树形菜单(有带checkbox实现)

    本工程使用dTree组件实现树形菜单的展示 有静态树形菜单和动态(从数据库获取数据)树形菜单展示两种 ...菜单既有普通的树结构展示,也有方便做权限等功能的带选择框的展示(含带默认选中checkbox的处理)

    带 checkbox 的 dtree 权限树

    "带checkbox的dtree权限树"是一种常见的实现方式,它结合了数据树(dtree)与复选框(checkbox)功能,用于展示层级关系的权限结构。这种权限树常用于角色分配、用户权限设置以及权限级别的可视化管理。 1. **dtree...

    带checkBox的dtree

    而“带checkBox的dtree”则可能指的是在可视化决策树的过程中,为每个节点或分支添加了复选框功能,以增强用户交互性,使得用户能够更加直观地选择、检查或修改树的结构。 【描述】:“NULL” 由于描述为空,我们...

    dtree新改版-添加checkbox复选框

    由于原版dtree作者没有加上复选框功能,我用来做用户模块权限功能的时候很不好用,网上也找到一些基于dtree添加了checkbox的修改版,但是用起来很不顺手,最后不得不根据自己的需要一再修改成了现在这个版本。...

    带复选框的dtree

    "带复选框的dtree"是一个经过定制的决策树(dtree)实现,它扩展了标准的决策树功能,增加了复选框的选择机制。这个功能对于数据分类、流程选择或者用户界面中的多层次选择场景非常有用。在描述中提到,这个dtree...

    原始dtree+右键dtree+复选框dtree

    3. `dtree_checkbox.js`:复选框dtree的实现,修改了`dtree.js`的源码,加入了复选框元素和相应的逻辑。 4. HTML和CSS文件:用于展示和样式化dtree实例。 5. 示例数据:可能包括JSON或其他格式的数据文件,用于填充...

    dtree带checkbox

    【dtree带checkbox】是一种在Java项目中常用的交互式树形结构组件,它结合了复选框(checkbox)功能,允许用户对树节点进行多选操作。在网页或桌面应用程序中,这种组件常用于数据组织和筛选,例如文件管理器、权限...

    带复选框(checkbox)的树

    在IT界,"带复选框(checkbox)的树"是一种常见的用户界面元素,它将树形结构的数据与复选框相结合,为用户提供了一种直观、便捷的方式来选择、操作和组织层次化的数据。这种控件通常用于文件管理器、设置菜单、数据库...

    js mtree1.0-table tree-dtree-带复选框checkbox的树形控件

    mtree1.0是基于javascript的树形控件,主要实现了基本树形控件和树形表格功能,可以使用复选框(checkbox)。 代码简洁,调用方法简单,容易上手。 由于受dtree影响较深,里面的编程思想抹不去dtree的影子,我也希望我...

    CheckBox分级选中 复选框 上下级 联动

    在IT行业中,尤其是在前端开发领域,"CheckBox分级选中 复选框 上下级 联动"是一个常见的功能需求,通常应用于具有层级结构的数据展示和交互场景,比如树形菜单、组织架构选择等。这个功能的核心是实现复选框...

    dtree树形结构复选框

    从给定的文件信息来看,我们正在探讨一个与IT领域紧密相关的主题——“dtree树形结构复选框”的实现。这个概念结合了数据结构中的树(Tree)和用户界面设计中的复选框(Checkbox),在很多场景下,如权限管理、多级...

    dtree checkBox

    【dtree checkBox】是一种在数据树(dtree)中实现的功能,它允许用户通过复选框(checkBox)来选择或取消选择树形结构中的节点。这个功能在许多应用中非常常见,例如在文件管理器、组织结构图或者权限设置等场景。...

    dtree读取单选和复选的值

    `dtree` 是一种常用于创建可交互的树形结构组件,它允许用户通过单选按钮(radiobox)和复选框(checkbox)进行选择。本文将深入探讨如何使用 `dtree` 来读取这些选择的值,以及如何根据需求进行定制。 首先,`...

    带复选框JS树,JS带复选框的列表,很好用

    在IT领域,尤其是在前端开发中,"带复选框JS树"是一种常见且实用的数据展示方式,它将数据结构以树形的方式呈现,并且每个节点都带有复选框,允许用户进行多选操作。这样的设计在权限管理、配置设置、目录浏览等场景...

    checkbox dtree

    在IT领域,"checkbox dtree"通常指的是带有复选框的决策树(Decision Tree)控件,这是一种交互式用户界面元素,广泛应用于数据可视化和数据分析软件中。它允许用户通过多级选择来表示和操作数据结构,特别是对于...

    树形复选框(Checkbox)

    在网页设计和开发中,树形复选框是一种常见的用户界面元素,用于提供层次结构的选择选项。本项目通过结合JavaScript和CSS技术,实现了一个具有展缩功能和选中数显示的树形复选框组件。下面我们将深入探讨这个组件的...

    带checkbox的dtree

    **dtree与Checkbox结合** `dtree` 是一个常见的数据结构可视化工具,它用于展示树状数据结构,常被用于网站或应用中的导航菜单、文件系统浏览等场景。在这个基础上,通过添加`checkbox`功能,我们可以使用户能够...

    dtree组件 带checkbox

    在这个特定的案例中,我们关注的是带有Checkbox功能的dtree,这使得用户可以对树形结构中的节点进行选择和操作,从而满足多选、全选等需求。 1. **dtree组件基础** dTree是一种轻量级的JavaScript组件,它可以动态...

Global site tag (gtag.js) - Google Analytics