`
lzkyo
  • 浏览: 468336 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用dTree生成部门目录树

    博客分类:
  • Java
阅读更多

在action中使用sql按目录的方式查询出部门记录,其中包括部门名称,部门ID,部门父ID。顶头的记录的部门父ID必须为-1,查询语句如:
select dept_id,dept_name,parent_id from info_dept connect by prior dept_id = parent_id start with dept_id=?

把获得的list记录set到request中,在页面中显示出来。
页面代码如下:

< link  href ="<%=request.getContextPath()%>/gdnumweb/css/dtree.css"  rel ="stylesheet"  type ="text/css" >
< body >
< script  type ="text/javascript"  src ="<%=request.getContextPath()%>/gdnumweb/js/dtree.js" ></ script >

< div  class ="dtree" >
< p >< href ="javascript: tree.openAll();" > 展开所有 </ a >  |  < href ="javascript: tree.closeAll();" > 关闭所有 </ a ></ p >
< script  language ="javascript"  type ="text/javascript" >
tree 
=   new  dTree('tree');
< logic:iterate id = " dept "  name = " list " >
  tree.add(
" <bean:write name= " dept "  property= " dept_id " /> " , " <bean:write name= " dept "  property= " parent_id " /> " , " <bean:write name= " dept "  property= " dept_name " /> " ,' <%= path %>/ gdnumUserDept. do ? method = getDeptUserInfo & deptNo =< bean:write name = " dept "  property = " dept_id " /> ','','mainframe');
</ logic:iterate >
document.write(tree);
</ script >


在组合框中输出树形目录
获取列表的java方法

//提取当前用户的部门下拉
  public List getSourceDept(String deptNo) {
    List list 
= null;
    Connection con 
= CommonUtils.currentSession().connection();
    ResultSet rs 
= null;
    ResultSetMetaData rsmd 
= null;
    java.sql.PreparedStatement ps 
= null;
    String sql 
= "select deptno,(tools.buildTree(level)||deptname) deptname from sys_dept "
        
+ "connect by parent_deptno=prior deptno "
        
+ "start with deptno=?";
    HashMap map 
= null;
    
try {
      ps 
= con.prepareStatement(sql);
      ps.setString(
1, deptNo);
      rs 
= ps.executeQuery();
      
//System.out.println("rs.size:" + rs.getFetchSize());
      rsmd = rs.getMetaData();
      list 
= new ArrayList();
      
while (rs.next()) {
        map 
= new HashMap();
        
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
          map.put(rsmd.getColumnName(i).toLowerCase(), rs.getString(i));
        }
        list.add(map);
      }
      rs.close();
    }
    
catch (Exception ex) {
      log.error(
"提取当前用户的部门下拉出错com.unicom.gzmas.reports.bo.getSourceDept:" + ex);
    }
    
finally {
      CommonUtils.closeSession();
    }
    
return list;
  }


页面输出的代码

    <select id="mbackdept"> <!-- 部门 -->
          
<option value="all">-----全部----</option>
          
<logic:iterate id="l" name="target">
          
<option value="<bean:write name="l" property="deptno"/>"><bean:write name="l" property="deptname"/></option>
          
</logic:iterate>
    
</select>

构造树的存储过程

  /*构造树*/
    
Function Buildtree(In_Level In NumberReturn Varchar2 As
        Result 
Varchar2(4000);
    
Begin
        
If In_Level = 1 Then
            
Return Null;
        
End If;
        
Return '|' || Incstring('-­', (In_Level - 1* 2);
    
End;
分享到:
评论

相关推荐

    dtree 部门与人员目录树

    这些数据可以通过数据库或者Excel表格等形式存储,并通过编程语言如Python、Java、JavaScript等进行处理,生成目录树的数据结构。 2. **用户界面展示**:为了便于用户交互,"dtree"通常会结合前端技术实现可视化...

    Dtree目录树下载

    【DTree目录树下载】是针对前端开发人员的一款强大且美观的树形JavaScript代码库,主要用在构建具有层级结构的目录展示。DTree以其高效的功能和优雅的样式设计,深受开发者喜爱,常用于网站导航、文件管理器、组织...

    dTree 生成无限级树形菜单

    以上就是使用`dTree`生成无限级树形菜单的基本步骤。需要注意的是,实际应用中可能需要考虑性能优化,例如分页加载子节点,以防止一次性加载大量数据导致页面响应变慢。同时,为了增强用户体验,还可以添加搜索、...

    dtree动态生成树

    以下将详细讲解如何使用jQuery的dtree插件创建动态生成树,并基于描述中提到的8种实例进行深入解析: 1. **基本实例**:这是最简单的dtree应用,只需引入必要的CSS和JS文件,设置HTML结构,并调用dtree方法初始化树...

    dtree+jquery动态生成树

    【dtree+jquery动态生成树】是一个用于创建交互式树形结构的JavaScript库,结合了jQuery框架的强大功能,使得在网页上动态展示层次结构数据变得简单。本实例着重于实现菜单树的生成,这对于构建多级导航系统尤其有用...

    Dtree目录树

    总结来说,"Dtree目录树"是一个用于生成和操作目录树的框架,结合"jquery-treeview"插件,可以在Web环境中提供强大的目录视图和交互功能。理解和掌握这些技术,可以帮助开发者更高效地管理和展示文件系统结构,提升...

    jsp-dtree-目录树解决树形结构问题

    ### jsp-dtree-目录树解决树形结构问题 #### 概述 JSP-dtree是一种基于JavaServer Pages (JSP)技术实现的目录树组件,用于解决网站或应用程序中的树形结构展示问题。该组件不仅可以帮助开发者快速构建出美观且功能...

    java动态生成目录树

    以上就是关于"java动态生成目录树"这一主题的主要知识点,包括Dtree库的使用、Ajax请求与响应、JSON和XML数据格式,以及JSP页面的动态内容生成。通过熟练掌握这些技术,可以有效地在Web应用中构建交互式的目录树视图...

    dtree选择部门或者选择部门下人员复选框单选框插件带搜索

    "dtree选择部门或者选择部门下人员复选框单选框插件带搜索"是一种专为此类需求设计的解决方案。dtree插件能够帮助开发者构建交互性强、用户体验良好的选择界面,同时具备搜索功能,提高用户的操作效率。 首先,我们...

    Dtree+Jquery动态生成树节点

    综上所述,DTree与JQuery的结合使用为前端开发提供了强大的工具,使得动态生成树节点变得简单易行。通过深入学习和实践,开发者可以创建出交互性强、用户体验良好的树形界面。对于提供的压缩包文件,"dtree_JQuery...

    dtree目录树代码

    1. **递归**:由于目录树的层级是无限的,所以通常会用到递归函数来生成每个节点及其子节点。递归允许函数调用自身,每次调用处理一个子节点,直到达到某个终止条件。 2. **DOM操作**:JavaScript需要与HTML DOM...

    java 生成文件结构目录树

    使用纯java代码遍历文件夹,生成一个文件夹目录结构的目录树。 及返回一个包含有 id(文件夹id) fid(当前文件夹父目录文件夹id) name (文件/文件夹路径)的集合对象。可根据这个结果传到前台,通过jquery.ztree 或是...

    dTree生成的树形菜单

    function dTree(objName) { this.config = { target : null, folderLinks : true, useSelection : true, useCookies : true, useLines : true, useIcons : true, ...

    dtree+ajax异步加载树

    2. **异步加载树节点**:当用户展开一个节点时,使用Ajax发送请求到服务器,获取该节点的子节点数据,然后使用dtree提供的API将新数据插入到现有树中。 3. **优化策略**:通常,初始加载只展示顶级节点,其余节点按...

    dtree+jquery动态树的生成(二)

    4. **JavaScript处理**:在Ajax的success回调函数中,使用dtree的API初始化树,将返回的JSON数据转化为dtree可以识别的格式,例如`[{'text':'节点1', 'children':[{'text':'子节点1'}, {'text':'子节点2'}]}]`。...

    layui dtree树形结构

    在提供的文件列表中,`dtree-demo`可能是一个包含示例代码的文件或目录,用于演示如何使用layui dtree。而`dtree`可能是dtree的源码或资源文件。通过查看这些文件,你可以更深入地理解dtree的工作原理和实际应用。 ...

    dtree实现的树支持多选

    【dtree实现的树支持多选】是一种在网页交互中常用的数据展示和操作方式,尤其在数据层级结构复杂时,如文件系统、组织结构或菜单导航等场景。DTree(通常指的是JavaScript实现的树形控件)允许用户通过勾选节点来...

    从数据库动态生成树形菜单的JSP实现,使用dtree

    使用dtree插件生成动态树 1,从动态树的要求我们要从数据库生成 d = new dTree('d'); d.add(1,0,'云南电信'); d.add(11,1,'省公司本部'); d.add(12,1,'昆明分公司'); d.add(121,12,'公司领导'); d.add(122,12,'...

    dtree建立树形目录

    在IT领域,构建用户界面时,树形目录是一种常见的数据结构,用于展示层次关系的数据,例如文件系统或网站导航。`dtree` 是一个轻量级...通过学习和使用`dtree`,你可以快速地为网页增加动态的、交互式的树形目录功能。

Global site tag (gtag.js) - Google Analytics