一个企业有多个部门,一个部门下面又有多个小部门,一个小部门下面有部门职员名单,像这样的树状显示结构在web中采用TreeView显示方法,有没有哪位高人告知小弟的具体做法,有代码最好了,谢谢了!!!

解决方案 »

  1.   

    AJAX开发精要里有个案例就是你这个需求的,自己去下代码看看吧
      

  2.   

    用梅花雪前辈的treeview控件,下载地址http://www.meizz.com/Web/Download/MzTreeView10.rar,我原来用dtree,但是速度太慢了,package inv4.com;
    import java.sql.*;public class DeptBean
        extends ParentBean {
      StringBuffer outHtml;
      public DeptBean() {
      }  public ResultSet getDeptByID(String id)
      {
        String sql;
        sql="select SWJG_DM,SWJG_MC from ctais2.DM_SWJG where SWJG_DM='"+id+"'\n";
        return this.selectRecord(sql);
      }  public ResultSet getDeptByParentID(String parentID)
      {
        String sql;
        sql="select SWJG_DM,SWJG_MC,SJ_SWJG_DM from ctais2.DM_SWJG where SJ_SWJG_DM='"+parentID+"'\n";
        //sql+="and SWJG_BZ in ('J','B')\n";
        sql+="and XYBZ='Y'\n";
        sql+="order by SWJG_DM\n";
        return this.selectRecord(sql);
      }  public ResultSet getCzryByDept(String deptID)
      {
        String sql;
        sql="select CZRY_DM,CZRY_MC,SWJG_DM from ctais2.DM_CZRY where SWJG_DM='"+deptID+"'\n" ;
        sql+="and XYBZ='Y'\n";
        return this.selectRecord(sql);
      }  //为了生成部门树
    public String CreateNewTreeByDeptID(String id)
    {
      outHtml = new StringBuffer();
      try {
        outHtml.append("<script type='text/javascript'>\n");
        outHtml.append("d = new MzTreeView('d');\n");
        outHtml.append("d.setIconPath('/inv4/MzTreeView10/');\n");    ResultSet rs = getDeptByID(id);
        if (rs.next()) {
          outHtml.append("d.nodes['-1_"+rs.getString("SWJG_DM")+"'] = 'text:"+new String(rs.getString("SWJG_MC").getBytes("iso-8859-1"))
              +";url:javascript:setSelValue(\"" + rs.getString("SWJG_DM") + "\",\""+new String(rs.getString("SWJG_MC").getBytes("iso-8859-1"), "gb2312")+"\",\"DEPARTMENT\")';\n");
          AddNewChildNode(rs.getString("SWJG_DM"));
        }
        rs.close();
        outHtml.append("document.write(d.toString());");
        outHtml.append("</script>");
      }
      catch (Exception e) {
      }
      return outHtml.toString();
    }public void AddNewChildNode(String parentId)
    {
      try {
        ResultSet rs = getDeptByParentID(parentId);
        while (rs.next()) {
          outHtml.append("d.nodes['"+rs.getString("SJ_SWJG_DM")+"_"+rs.getString("SWJG_DM")+"'] = 'text:"+new String(rs.getString("SWJG_MC").getBytes("iso-8859-1"))
              +";url:javascript:setSelValue(\"" + rs.getString("SWJG_DM") + "\",\""+new String(rs.getString("SWJG_MC").getBytes("iso-8859-1"), "gb2312")+"\",\"DEPARTMENT\")';\n");
          AddNewChildNode(rs.getString("SWJG_DM"));
        }
        rs.close();
        ResultSet rsCzry=getCzryByDept(parentId);
        while(rsCzry.next())
        {
          outHtml.append("d.nodes['"+rsCzry.getString("SWJG_DM")+"_RY"+rsCzry.getString("CZRY_DM")+"'] = 'text:"+new String(rsCzry.getString("CZRY_MC").getBytes("iso-8859-1"))
              +";url:javascript:setSelValue(\"" + rsCzry.getString("CZRY_DM") + "\",\""+new String(rsCzry.getString("CZRY_MC").getBytes("iso-8859-1"), "gb2312")+"\",\"EMPLOYEE\")';\n");    }
        rsCzry.close();
      }
      catch (Exception e) {
        System.err.println("SqlException:" + e.getMessage());
      }
    }}
    在jsp中只要
    <jsp:useBean id="dept" scope="page" class="inv4.com.DeptBean"></jsp:useBean>
      <body><table>
      <tr>
        <td><%=dept.CreateNewTreeByDeptID(swjg) %>   </td>
      </tr>
      <tr>