现在假如有两张   机构表Depart 里面有字段  机构号:depno 机构名称:depname  上级机构:depleader   同级机构:deplayer 
                    柜员表Clerks 里面有字段  柜员编号:cno  柜员名字:cname  所属机构:depno
我现在想做一个这样的功能:要用树形表示机构的上下级关系,用树形菜单显示各个机构里面的柜员,没有柜员的机构则不显示。
PS:并不是我不知道做树形菜单,而是我的逻辑没有转过来,不知道要实现这样的功能该怎么查数据,该怎么显示数据,还请各位不吝赐教。

解决方案 »

  1.   

    有个开源的JS的树组件dTree,你可以看下...
      

  2.   

    private int depno;
    private String depname;
    private Depart parent;//上级机构
    private Set<Depart> children;//下级机构
    还可以再加一个Set<Clerks> clerks来判断是否有柜员 控制显示与否
    存储的时候设置当前机构的上级机构和下级就够就行
    d.setParent(d)  d.getChildren().add(d)
     depart数据库中就3个字段depno depname parentno 
    遍历数据就比较简单了,例如用递归就能实现一个树状:
     void print(Depart d, int level) {
    String preStr = "";
    for(int i=0; i<level; i++) {
    preStr += "----";
    }
    System.out.println(preStr + d.getName());
    for(Depart child : d.getChildren()) {
    print(child, level+1);
    }
    }
      

  3.   

    先查上级机构 每个机构下面所属存一个集合 在页面遍历一下  dui