树的功能实现

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生成属性的get与set方法

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语句

时间: 2024-11-06 19:40:16

树的功能实现的相关文章

poj3468 A Simple Problem with Integers(线段树模板 功能:区间增减,区间求和)

转载请注明出处:http://blog.csdn.net/u012860063 Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to ask for th

LightOJ 1164 - Horrible Queries(线段树啊 功能:区间增减和区间求和)

题目链接:http://lightoj.com/volume_showproblem.php?problem=1164 World is getting more evil and it's getting tougher to get into the Evil League of Evil. Since the legendary Bad Horse has retired, now you have to correctly answer the evil questions of Dr.

C# 3.0中的新增功能10 表达式树 02 说明

连载目录    [已更新最新开发文章,点击查看详细] 表达式树是定义代码的数据结构. 它们基于编译器用于分析代码和生成已编译输出的相同结构.表达式树和 Roslyn API 中用于生成分析器和 CodeFixes 的类型之间存在很多相似之处. (分析器和 CodeFixes 是 NuGet 包,用于对代码执行静态分析,并可为开发人员建议可能的修补程序.)两者概念相似,且最终结果是一种数据结构,该结构允许以有意义的方式对源代码进行检查. 但是,表达式树基于一组与 Roslyn API 完全不同的类

[主席树]ZOJ3888 Twelves Monkeys

题意:有n年,其中m年可以乘时光机回到过去,q个询问 下面m行,x,y 表示可以在y年穿越回x年, 保证y>x 下面q个询问, 每个询问有个年份k 问的是k年前面 有多少年可以通过一种以上($\ge 2$)方法穿越回去的, 其中时光机只能用一次 比如案例 9 3 3 9 1 6 1 4 1 6 7 2 如图 对于询问 6这一年:1.穿越回第1年  2.等时间过呀过呀过到第9年,再穿越回第1年 那么第1年就有两种方法可以穿越回去, 同理, 2.3.4年也有同样两种方法(回到1再等时间过呀过 过到2

线段树入门(Billboard)

Billboard Time Limit:8000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description At the entrance to the university, there is a huge rectangular billboard of size h*w (h is its height and w is its width). The board is the place where

线段树学习(一)

看到UESTC的数据结构专题快要结束了,感觉自己真心浪费了好多时间,没有像鑫航学姐那样叮嘱的一样,紧紧的跟住训练. 所以下决心认认真真的开始学习下线段树的知识,以前对于线段树的学习都是一知半解的,就是说,我只知道线段树是用来单点更新和区间查值的,其实,线段树的功能远远不止这些. 先来说下,线段树是用来求解有关区间问题的绝逼法宝,为什么说绝逼呢.因为它能够在logn的时间内完成每次的查询. 查询的分类: 1.区间查询 -访问某段区间的某些性质(比如说,最大值,最小值,连续和,等等) 2.区间更新

线段树(单点更新) HDU 1754 I Hate It

题目传送门 1 /* 2 线段树基本功能:区间最大值,修改某个值 3 */ 4 #include <cstdio> 5 #include <cstring> 6 #include <algorithm> 7 #define lson l, m, rt << 1 8 #define rson m+1, r, rt << 1|1 9 10 const int MAX_N = 200000 + 10; 11 int sum[MAX_N<<2

人人都是 DBA(VII)B 树和 B+ 树

B 树(B-Tree)是为磁盘等辅助存取设备设计的一种平衡查找树,它实现了以 O(log n) 时间复杂度执行查找.顺序读取.插入和删除操作.由于 B 树和 B 树的变种在降低磁盘 I/O 操作次数方面表现优异,所以经常用于设计文件系统和数据库. B 树内的节点关系 B 树的定义 B 树的操作 B 树的变种 B+ 树的优势 B+ 树 C# 代码实现 在 1972 年,在 Boeing Research Labs 工作的 Rudolf Bayer 和 Ed McCreight 发明了 B 树.当时

第十四周 Leetcode 315. Count of Smaller Numbers After Self(HARD) 主席树

Leetcode315 题意很简单,给定一个序列,求每一个数的右边有多少小于它的树. O(n^2)的算法是显而易见的. 用普通的线段树可以优化到O(nlogn) 我们可以直接套用主席树的模板. 主席树的功能是什么呢? 其实就是一句话. 原序列a的子序列a[l,r]在a排序后的序列b的子序列[L,R]中的个数. 显然本题只用到了主席树的一小部分功能. const int N = 100000 + 5; int a[N], b[N], rt[N * 20], ls[N * 20], rs[N * 2