JavaベースのExtjs再帰ツリーコード
1445 ワード
/**
*
* @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;
}