`
hite
  • 浏览: 51952 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

树的查询(只显示第三级节点有符合条件的节点)

阅读更多
  1. 原始的树
    说明:原来的树,采用逐步加载的方式,每次只有一级节点的信息。最多有4级。
    截图:原始
  2. 采用分步加载方式,进行过滤的树
    说明:还是采用分步加载的方式,所以没有符合条件的三级节点所属的上级节点也被显示出来了,如123,a等。这个不太好。实现是采用的每级节点自己节点的toggle事件触发后再触发子节点的toggle时间的异步方式。
    截图:
  3. 一次加载,查询的树。
    说明:每级节点负责查询自己子节点的信息,然后对完整树,进行过滤,使用如下的函数
    截图:完善后,一次加载
    代码:
    	private List<TreeNode> ridRedundanceTreeNode(TreeNode root) {
    		List<TreeNode> children = root.getChildren();
    		if (children.size() > 0 && root.getData().toString().contains("level=lv2"))
    			return children;
    
    		for (Iterator<TreeNode> ite = children.iterator(); ite.hasNext();) {
    			TreeNode node =  ite.next();
    			if (ridRedundanceTreeNode(node).size() == 0) {
    				ite.remove();
    			}
    		}
    		return children;
    	}
    刚开始的时候,我还以为这个树的完整过滤需要很牛逼的算法,因为在删除父节点需要先遍历子节点,然后回溯。没想到 递归 刚好合适!

 

  • 大小: 20 KB
  • 大小: 31.4 KB
  • 大小: 32.6 KB
分享到:
评论

相关推荐

    带复选框的多级目录树,复选框的选择控制子节点父节点 全选和反选

    例如,React中有许多第三方库如`react-checkbox-tree`、`antd`的Tree组件等,它们内置了全选、反选和级联选择的功能。 总结来说,带复选框的多级目录树是一种高效的数据组织和操作方式,结合全选和反选功能,能极大...

    工业互联网二级节点建设导则(试行本)-总体部分

    第三部分归纳了作用和建设二级节点的重要意义;第三部分归纳了二级节点建设的核心内容,包括总体框架以及管理体系、功能体系、应用体系和接口规范;第四部分给出了二级节点建设模式和建设主体的选择建议;第五部分给...

    jquery遍历节点树

    6. **$(selector).closest(selector)**: 这个方法会向上遍历DOM树,直到找到匹配给定选择器的第一个祖先元素。这对于查找最近的父级元素非常有用,比如寻找最近的表单元素。 在实际应用中,这些方法可以组合使用,...

    vb.net中treeview节点的添加和删除

    3. 当节点有子节点时,先删除子节点,再删除父节点,否则会抛出异常。 4. 适当使用BeginUpdate和EndUpdate方法包裹节点操作,以提高性能,避免在大量操作时频繁重绘控件。 总之,VB.NET中的TreeView控件提供了丰富...

    tree第三层节点横向排列.vue

    这个是...

    dynamo节点包.rar

    它们可以是内置的,也可以来自于第三方开发的节点包。"dynamo节点包.rar" 提供了一组定制的节点,扩展了Dynamo的默认功能,从而满足特定的设计需求。 一、Dynamo节点包的构成与作用 1. 构成:节点包通常包含一系列...

    MFC实现树形控件TreeCtrl三态选择树

    为了显示第三种状态,我们需要额外加载一组图标,并在设置节点状态时调用SetItemState和SetItemImage函数来切换图标。 在实际编程过程中,可以使用MFC的资源编辑器创建和编辑资源,包括自定义的图标资源。"MutiTree...

    Activiti 学习笔记十:开始活动节点(判断流程是否结束及查询历史)

    Activiti 是一个开源的工作流引擎,它被广泛用于企业级应用中来管理业务流程。本学习笔记主要聚焦在开始活动节点以及如何判断流程是否结束,同时涵盖了查询历史流程实例的相关内容。 一、开始活动节点(Start Event...

    三级树形菜单

    第三级是子子菜单,隶属于第二级菜单。这样的结构允许用户通过展开和折叠菜单项来探索多级关系,同时保持界面的简洁性。 三、实现技术 1. HTML与CSS:利用HTML的`&lt;ul&gt;`和`&lt;li&gt;`标签构建菜单结构,通过CSS实现样式...

    jquery ztree 从后台action加载树节点

    **第三步:配置后端Action** 在Struts配置文件中设置结果类型为`json`,并将根节点名称设置为`list`: ```xml &lt;param name="root"&gt;list ``` **第四步:定义ZTree的配置对象** ```javascript var setting = { ...

    各个组织结构树形节点文件夹创建、文件上传、下载预览

    在IT行业中,文件管理和操作是日常工作的重要组成部分,尤其是在企业级应用中。本主题聚焦于“各个组织结构树形节点文件夹创建、文件上传、下载预览”这一核心功能,这通常涉及到一个协作平台或者文件管理系统的设计...

    三级树形菜单列表,附带完整工程解说,SQL建表语句和分析,立马看懂和运用

    本工程连接数据库生成树形菜单,在开发中可做出权限菜单生成,...第二级和第三级节点自由增加。附带完整SQL建表和插入数据语句,结构分析。代码重要关键部分注释和打印。附带完整测试语句,解说。方便大家理解和熟悉。

    第9章 高级篇之多节点JMeter分布式压测实战

    本章将深入探讨“第9章 高级篇之多节点JMeter分布式压测实战”,这一章节聚焦于如何利用JMeter进行多节点的分布式压力测试,以模拟大量并发用户对系统进行负载和稳定性测试。以下是对这一主题的详细阐述: 一、...

    vue Treeselect下拉树只能选择第N级元素实现代码

    这样,当用户尝试选择不符合条件的节点时,组件会自动禁用它们。 ```javascript normalizer(node) { // 去除没有子节点的children属性 if (node.children && !node.children.length) { delete node.children; }...

    csdn三级树形菜单csdn三级树形菜单 jquery树形菜单

    6. **源码软件**:在实际项目中,可能会有一个完整的软件包或库来处理树形菜单,如jQuery UI的Treeview插件或其他第三方组件。这些软件通常提供预设的样式和配置选项,以满足不同需求。 在压缩包中,"images"目录...

    城市三级联动js前端显示动态加载

    城市三级联动是网页开发中常见的交互功能,常用于地址选择,如省-市-区的选择。这个功能在JavaScript中实现,主要涉及到DOM操作、事件处理和异步数据加载。下面将详细讲解这些知识点。 首先,JavaScript是前端开发...

    Ztree+treeTable实现 Java实现 树形菜单 树形表格

    Ztree_v3是其第三个主要版本,具有更多的特性和优化。在Java项目中,我们通常会结合后台服务(如Spring MVC或Servlet)来动态生成Ztree的数据源,然后通过Ajax请求传递到前端进行渲染。 1. **Ztree的配置与使用**:...

    houdini节点手册

    Bulge节点用于通过来自第二个输入的一个或多个磁体来变形来自第一个输入的点。它可以帮助创建凸起的效果。 **应用场景:** 1. **表面变形:** 在表面添加凸起或凹陷的效果。 2. **动态效果:** 创建动态的表面效果...

    第06章 DOM节点操作(下)

    2. `.firstChild` / `.lastChild`: 获取第一个或最后一个子节点。 3. `.nextSibling` / `.previousSibling`: 获取当前节点的下一个或上一个兄弟节点。 4. `.parentNode`: 获取当前节点的父节点。 七、DOM树的创建与...

Global site tag (gtag.js) - Google Analytics