jquery easyui 官网:http://www.jeasyui.net/plugins/186.html 

下面以学校班级情况,先贴出效果图吧!

数据库设计:红色框中为必须要有的列,右边三个为你要展示的信息

第一步:要使用easyUi的treeGrid,先引入JS和CSS把。


<link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../../themes/icon.css">
<link rel="stylesheet" type="text/css" href="../demo.css">
<script type="text/javascript" src="../../jquery.min.js"></script>
<script type="text/javascript" src="../../jquery.easyui.min.js"></script>

页面渲染:

1、如图,使用 javascript 创建一个树形网格(treegrid)

2、在页面上配置相关的信息,进行数据显示

 var tg = $("#tb").treegrid({
url:'/my/stuTree/list/async',
idField:'id', //根据那个字段判断树节点关系 一般都是id
treeField:'name', //只有name这个属性展现树结构
method : 'get',
height: 'auto',
width : 'auto',
fitColumns :true, //发出一个加载数据的请求前触发,返回 false 就取消加载动作
onBeforeLoad:function(row,param){
if(row) {// //动态设置展开查询的url
$(this).treegrid('options').url='/my/stuTree/list/async?pId='+row.id;
}
},
columns:[[
{field:'name',title:'名称',width:150},
{field:'code',title:'编号',width:100},
{field:'status',title:'状态',formatter: function(value, row, index){ //这里可以对数据进行格式化
if(value == '1'){
return '<span class="label label-sm label-success"> 启用 </span>';
} if(value == '2'){
return '<span class="label label-sm label-warning"> 停用 </span>';
} return "";
}}
]]
});
也可以加上下面两个:
$(window).resize(function () {//当调整浏览器窗口的大小时,发生 resize 事件。
tg.datagrid('resize', {
width: 'auto',
height: 'auto'
})
}); //刷新按钮 -- 重新加载
$('#deptList-btn-refresh').click(function () {
reload(); //重新加载 treegrid 的数据
});

控制器代码:dao层什么的底层数据访问我就不写了

@RequestMapping(value = "list/async")
@ResponseBody
public Object async(String pId) throws Exception {
//把所有的数据查询放入集合中
List<MyClass> list = myClassService.listUndeleteByPid(pId); if (list != null) {
for (MyClass myClass : list) { //校验pid是否有子节点
if (myClassService.hasChildren(myClass.getId())) {
myClass.setState("closed"); //设置点击状态 为 关闭
}
}
} return list;
}

实体类:

 @Entity
@Table(name = "my_class")
public class MyClass extends AbstractEntity {
/**名称*/
private String name;
/**编号*/
private String code; /**父节点Id*/
private String pId; private String state = null; @Column(name = "name")
public String getName() {
return this.name;
} public void setName(String name) {
this.name = name;
}
@Column(name = "code")
public String getCode() {
return this.code;
} public void setCode(String code) {
this.code = code;
} @Column(name = "p_id")
public String getPId() {
return this.pId;
} public void setPId(String pId) {
this.pId = pId;
} @Column(name = "state")
public String getState() {
return state;
} public void setState(String state) {
this.state = state;
}
}

EasyUI简单实用,虽没有bootstrap界面框架漂亮,但对于没有UE的程序员开发和对公司内部网站已经是很不错的选择了。前阶段工作中,需要实现表格树,我想到了用Easyui中的Treegrid组件实现,虽然以前接触到过这个框架,但并不是太熟练,更对于treegrid扩展组件不太熟悉了。没有办法了,工作需要,只能就现学现用了。今天在这里总结下。

好用的treeGrid的更多相关文章

  1. 基于EasyUI Treegrid的权限管理资源列表

    1. 前言 最近在开发系统权限管理相关的功能,主要包含用户管理,资源管理,角色管理,组类别管理等小的模块.之前的Web开发中也用过jQueryEasyUI插件,感觉这款插件简单易用,上手很快.以前用到 ...

  2. CYQ.Data+EasyUI开发:几个相关的问题CheckBox、Tree、TreeGrid

    前言: 话说到新的公司已经呆了三个星期了,从上班的第二天开始就一直在写项目文档和给开发人员培训,以至于我的QQ签名从"我不是来搞培训的“到最后直接换成”我是来搞培训的“. 虽然挂名开发经理, ...

  3. jquery easyui-datagrid/treegrid 清空数据参考

    在使用easyui的treegrid或datagrid的过程经常会有这样的场景,如:需要按不同的类型加载数据时,如果选择的分类下没有数据应该把上次展示的数据清空,以免引用歧义.下面给出两种方法供初学者 ...

  4. RDIFramework.NET框架Web中datagrid与treegrid控件自动生成右键菜单与列标题右键菜单

    在实际应用中常可以看到数据展示控件有右键菜单的功能,对应的列标题也可以右键弹出快捷菜单设置指定列的显示与隐藏等功能.在我们的RDIFramework.NET Web框架中,只要是使用了EasyUI的D ...

  5. 在easyui的treeGrid中添加checkbox(jquery)

    jsp界面,也可用在aspx.html等前台界面中: <script type="text/javascript"> function show(checkid){ v ...

  6. treeGrid树形数据表格的json数据格式说明

    在使用easyUI 的treeGrid的时候,很多时候我们从数据库取出来的数据treeGrid却不能读取显示成一个树:如下 { menuCode: "a00", menuName: ...

  7. MVC4 +EasyUI 使用TreeGrid 方法

    用easyui已经有2年了,换了新环境,要求用mvc开发,所以想把原来的项目直接用mvc重构. 在使用TreeGird的时候出现了问题,发现在转换为treegrid的json 很费劲,一直都是用的ea ...

  8. EasyUI TreeGrid DataTable转换数据实现案例

    C#部分 /// <summary> /// Handler1 的摘要说明 /// </summary> public class Handler1 : IHttpHandle ...

  9. EasyUI中Treegrid节点的删除

    // 删除function removes() {    var rows = ruletreegrid.treegrid('getSelections');    if (rows &&am ...

  10. easyui treegrid逐步加载

    $("#bomStructureTable").treegrid({ url : "systemcontroller?id=10007",//首次查询路径 qu ...

随机推荐

  1. Including R code in perl

    #example: use Statistics::R;#use R in perlmy $R = Statistics::R->new() ;$R->startR ;$R->sen ...

  2. CSS-动画巧用translated3d

    VUE2.0单元素或组件的过渡 情景:插件从右向左滑动,巧用translate3d .food position :fixed left : 0 top :0 bottom :48px z-index ...

  3. Fedora 系统屏幕亮度修改

    在某些笔记本电脑上,屏幕亮度卡在最大值,功能键或桌面设置似乎没有做任何事情. 有一件事要尝试通常可以解决这个问题.打开/ etc / default / grub 并找到以GRUB_CMDLINE_L ...

  4. rapid7/metasploitable3 CTF摘要

    rapid7/metasploitable3 俗话说,没图说个JB.我专门做了个图以供欣赏,做图技术可能有点糙,见谅见谅. 2016年11月,rapid7发布了metasploitable3,以后简称 ...

  5. 【Jest】笔记三:全局变量

    一.前提 我们在使用unittest,testng框架的时候都知道,每个case都是项目独立的,上一个case返回的值是不能使用到下一个case的,但是实际中接口之间的关系是紧密相连的,这个时候我们怎 ...

  6. C语言题库----指针

    1.如果f是一个函数,请说明 f() 和f的意思. f是函数的地址,f()是函数 2.怎样理解数组的下标运算? 先偏移,后取址. 3.int *p,*q; int a[]={10,20,30,40}; ...

  7. windows下Redis的安装和使用

    1.要安装Redis,首先要获取安装包.Windows的Redis安装包需要到以下GitHub链接找到.链接:https://github.com/MSOpenTech/redis.打开网站后,找到R ...

  8. 网络请求 selenium

    网络请求 selenium 部分流程: 第一:爬虫引擎生成requests请求,送往scheduler调度模块,进入等待队列,等待调度.第二:scheduler模块开始调度这些requests,出队, ...

  9. Oracle的安装+PL安装+系统变量配好后重启

    服务启动后的样子 第一步安装oracle服务 链接: https://pan.baidu.com/s/1sRu95Vy1arc3gfuH9nH5Wg 提取码: eaxx 复制这段内容后打开百度网盘手机 ...

  10. jQuery汇总

    closest() 方法返回被选元素的第一个祖先元素. $("span").closest("ul")返回 <span> 的第一个祖先元素,是一个 ...