使用list添加节点排序的数据
public void findTree(List<Record> menuList, Integer pid, int grade) {
grade++;
List<Record> tmp = null;
if(pid == null) {
tmp = Db.find("select * from buss_menu where pid is null order by sort asc");
}else {
tmp = Db.find("select * from buss_menu where pid = ? order by sort asc",pid);
}
for(Record menu : tmp) {
menu.set("grade", grade);
menuList.add(menu);
findTree(menuList,menu.getInt("id"), grade);
}
}
或者
//递归排序节点
public List<Record> treeGrid(List<Record> newList,List<Record> oldList,Integer pid){
for (Record mu : oldList) {
//遍历出父id等于参数的id,add进子节点集合
if (mu.get("pid") == pid) {
//递归遍历下一级
newList.add(mu);
treeGrid(newList,oldList,mu.get("id"));
}
}
return newList;
}

浙公网安备 33010602011771号