zoukankan      html  css  js  c++  java
  • 树的功能实现

    6.院系树的生成

    a.body部分写一个加载树的地方

     

    b.JavaScript中写一个加载树的方法

     

      //初始化院系树
    var depid="";
      function initTree(){
          var setting={
              data:{
                  simpleData:{
                      enable:true
                  }
              },
              callback: {
                  onClick: depTreeOnClick
              }
          };

          var treeData = getJsonData("departmentTree.hebe");
           $.fn.zTree.init($("#depTree"), setting, treeData);
      }

    通过前台发送一个hebe请求到后台去查询树的节点并加载

    c.新建一个用于显示树的实体类

     

    以上是实体类中的属性,通过alt+ins生成属性的getset方法

    d.根据URL地址编写getwaybeans.xml

     

    e.在院系表所对应的后台department  bean类中写一个生成树的方法

    /**
     * 院系树,返回所有院系
     * @return
     */
    public String departmentTree(){
        List<TreeNode> depTree=DBL_CLIENT.select("get.department.tree",null);
        for(TreeNode tn : depTree){
            tn.setIconSkin("dep");
        }
        return JSON_UTIL.list2json(depTree);
    }

    f.在院系所对应的xml文件中写相关的sql语句

     

    值得注意的是:由于该树没有父节点,因此不需要写pid,只需要查询节点ID或名称

    尤其需要注意的是:在网页上有树的操作时需要引入相关的树的js文件与css文件

    否则对树的操作都无法生效。

    <script type="text/javascript" src="jquery/ztree/jquery.ztree.all-3.5.min.js"></script>

    <link type="text/css" rel="stylesheet" href="skin/ztree/zTreeStyle/zTreeStyle.css"/>

    7.通过点击树的节点,而显示该节点类型下的列表信息

    a.在树的生成中有一个点击触发后的方法

     

    b.JavaScript中编写该方法

    //点击树的节点会显示该节点类型下的信息
    function depTreeOnClick(event, treeId, treeNode){
        if(!treeNode.isParent){
            depid=treeNode.id;
            var json={depid:depid};
            var paramStr=json2str(json);
            $("#listTable").datagrid('options').url = "getStuInfo.hebe?json="+paramStr;
            $("#listTable").datagrid('load');
        }

    c.根据URL地址编写getwaybeans.xml

     

    d.前台方法中绑定节点ID发送hebe请求给后台

    /**
     * 根据树的类型加载信息
     * @param param
     * @return
     */
    public String getStuInfo(String param){
        String depid = JSON_UTIL.getJsonData(param, "depid");
        String[] p={depid};
        queryMapId="query.studept.info";
        return paging(p, true);
    }

    值得注意的是:后台方法不是在院系bean类中写,而是在显示相关信息的student bean类中写根据节点ID查询信息

    e.student 对应的xml文件中写sql语句

     

  • 相关阅读:
    Aibabelx-shop 大型微服务架构系列实战之技术选型
    龙应台:中年人的迷惘,比年轻人的更可怕!
    劝进篇
    高并发与多线程的关系、区别、高并发的技术方案
    redis常用知识
    Lucene全文检索入门使用
    大数据综合案例-网站日志分析
    python数据类型
    Tornado
    flask-sqlalchemy用法详解
  • 原文地址:https://www.cnblogs.com/bad-guy/p/6955984.html
Copyright © 2011-2022 走看看