zoukankan      html  css  js  c++  java
  • 树形展示数据

     1   //1、核心代码递归实现组装数形数据
     2   public String getResourceTreeToJson() {
     3         return this.createTreeJson(findAll());//findAll()是全查select * from tableName 
     4     }
     5 
     6     /**
     7      * 生成josn
     8      * @param list
     9      * @return
    10      */
    11     private String createTreeJson(List<Resource> list) {
    12         JSONArray rootArray = new JSONArray();
    13         for (Resource resource : list) {
    14             if (resource.getParentid() == null) {
    15                 JSONObject rootObj = createBranch(list, resource);
    16                 rootArray.add(rootObj);
    17             }
    18         }
    19         return rootArray.toString();
    20     }
    21     
    22     /**
    23      * 递归遍历找到当前节点的所有子节点
    24      * @param list
    25      * @param currentNode
    26      * @return
    27      */
    28     private JSONObject createBranch(List<Resource> list, Resource currentNode) {
    29         JSONObject currentObj = JSONObject.fromObject(currentNode);
    30         JSONArray childArray = new JSONArray();
    31         for (Resource newNode : list) {
    32             if (newNode.getParentid() != null && newNode.getParentid().compareTo(currentNode.getId()) == 0) {
    33                     JSONObject childObj = createBranch(list, newNode);
    34                     childArray.add(childObj);
    35                 }
    36         }
    37         if (!childArray.isEmpty()) {
    38             currentObj.put("children", childArray);
    39         }
    40         return currentObj;
    41     }


     //2、使用ztree实现树形数据简单无需用递归组装,简单方便
     1 select 
     2         dep.dep_id,
     3         dep.prv_id,
     4         dep.dep_code, //主要返回
     5         dep.dep_name, //主要返回
     6         dep2.dep_name as parent_Name,
     7         dep2.dep_code AS parent_Code,//主要返回
     8         dep.dep_order,
     9         dep.dep_state
    10         from sys_department dep
    11             LEFT JOIN sys_department dep2
    12                 on dep.pdep_id = dep2.dep_id     
    13 
    14 
    15 主要返回的对应ztree的id、pId、name,其它属性可自定义,ztree会自动识别组装树形节点的数据;
      还有就是实体bean中的属性除了定义数据库中的列属性之外,还应该把ztree中的节点属性也定义上
  • 相关阅读:
    10 Programming Languages You Should Learn Right Now
    【Vegas原创】asp.net页面作为邮件正文发送
    【Vegas原创】产生文件编号(形如:SC000610001)
    ASP操作Excel技术总结
    【Vegas原创】asp/html页面作为邮件正文发送
    【Vegas原创】jmail 发邮件
    ADO.NET 如何读取 Excel (下)
    【Vegas原创】Ajax实现无刷新三联动
    【Vegas原创】Excel权限问题
    成为编程高手的八大奥秘
  • 原文地址:https://www.cnblogs.com/gqs92/p/6941586.html
Copyright © 2011-2022 走看看