/**
*
* @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;
}