`
jlcon
  • 浏览: 173052 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Java基础之Extjs递归树代码

    博客分类:
  • Java
阅读更多
/**
	 * 
	 * @param nodes 所有Node
	 * @param node 指定ID的节点存放对象,初始为空
	 * @param nodeid 指定Node的ID
	 * @return 得到的Node树
	 */
	public Node getNodeById(List<Object[]> nodes,Node node,String nodeid){
		if(nodes == null){
			nodes = treebiz.getAllNodes();
		}
		for(Object[] tnode:nodes){
			if(node==null&&((String)tnode[0]).equals(nodeid)){
				node = new Node();
				node.setId(nodeid);
				node.setEditable(false);
				node.setText((String)tnode[3]);
				node.setHref((String)tnode[4]);
				node.setLeaf(true);
				getNodeById(nodes,node,nodeid);
				return node;
			} else if(node!=null&&StringUtils.isNotBlank((String)tnode[1])&&((String)tnode[1]).equals(nodeid)) {
				//如果不是第一次遍历则需要查找前驱节点
				String parentid = (String)tnode[1];
				String myid = (String)tnode[0];
				//找到指定Node的子Node
				if(parentid.equalsIgnoreCase(nodeid)){
					Node node2 = new Node();
					node2.setId(myid);
					node2.setEditable(false);
					node2.setText((String)tnode[3]);
					node2.setHref((String)tnode[4]);
					node.getChildren().add(node2);
					node.setLeaf(false);
					getNodeById(nodes,node2,myid);
				} else {
					//没有找到父节点,该节点为叶子节点
					
				}
			}
		}
		return node;
	}

 

分享到:
评论

相关推荐

    jsp+access+extjs动态树实例

    5. **递归加载**:为了实现无限层级的树,需要在ExtJS的TreeStore中设置递归加载的策略,当用户展开一个节点时,TreeStore会自动请求其子节点数据。 6. **用户交互**:利用ExtJS的API,可以添加额外的交互功能,如...

    JSP实现树型结构TREE

    本例"JSP实现树型结构TREE"提供了一个使用JSP(JavaServer Pages)、EXTJS(一个前端JavaScript框架)、JSON(JavaScript Object Notation)以及MySQL数据库来创建树形结构的示例,这对于初学者或开发者来说,是一个...

    利用eval()函数给树节点统一添加单击事件实现新建选项卡功能

    但是,由于树形结构可能动态生成,或者节点数据是字符串形式,作者可能选择使用`eval()`来解析并执行添加事件处理程序的代码。 下面是一个简化的示例,展示了如何使用`eval()`为树节点添加点击事件: ```...

    java面试题

    - **平衡二叉树**:如AVL树、红黑树,用于高效搜索、插入和删除操作。 #### Servlet生命周期与应用 - **初始化**:Servlet被加载时调用init()方法进行初始化。 - **服务请求**:doGet()或doPost()方法处理HTTP GET...

    Ext Js权威指南(.zip.001

    1.2.6 在java中使用json / 12 1.2.7 更多有关json的信息 / 15 1.3 ext js 4概述 / 15 1.4 ext js的开发工具的获取、安装与配置介绍 / 18 1.4.1 ext designer / 18 1.4.2 在visual studio中实现智能提示 / 23 ...

    JSP EXT 遍历 TREE

    例如,可以使用`treePanel.getRootNode()`获取树的根节点,然后递归或循环遍历其子节点。如果`example4.js`中定义了这样的函数,那么这就是实际操作TREE的关键代码。 dright.json可能是TREE的数据源,存储了TREE...

    javascript-TreeView父子联动效果保持节点状态一致

    JavaScript TreeView 控件在网页开发中...通过递归遍历节点树,我们可以确保整个树结构中的节点状态保持一致,满足功能需求。这个过程既需要对JavaScript有扎实的理解,也需要对TreeView控件的内部工作原理有所了解。

Global site tag (gtag.js) - Google Analytics