好用的treeGrid
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的更多相关文章
- 基于EasyUI Treegrid的权限管理资源列表
1. 前言 最近在开发系统权限管理相关的功能,主要包含用户管理,资源管理,角色管理,组类别管理等小的模块.之前的Web开发中也用过jQueryEasyUI插件,感觉这款插件简单易用,上手很快.以前用到 ...
- CYQ.Data+EasyUI开发:几个相关的问题CheckBox、Tree、TreeGrid
前言: 话说到新的公司已经呆了三个星期了,从上班的第二天开始就一直在写项目文档和给开发人员培训,以至于我的QQ签名从"我不是来搞培训的“到最后直接换成”我是来搞培训的“. 虽然挂名开发经理, ...
- jquery easyui-datagrid/treegrid 清空数据参考
在使用easyui的treegrid或datagrid的过程经常会有这样的场景,如:需要按不同的类型加载数据时,如果选择的分类下没有数据应该把上次展示的数据清空,以免引用歧义.下面给出两种方法供初学者 ...
- RDIFramework.NET框架Web中datagrid与treegrid控件自动生成右键菜单与列标题右键菜单
在实际应用中常可以看到数据展示控件有右键菜单的功能,对应的列标题也可以右键弹出快捷菜单设置指定列的显示与隐藏等功能.在我们的RDIFramework.NET Web框架中,只要是使用了EasyUI的D ...
- 在easyui的treeGrid中添加checkbox(jquery)
jsp界面,也可用在aspx.html等前台界面中: <script type="text/javascript"> function show(checkid){ v ...
- treeGrid树形数据表格的json数据格式说明
在使用easyUI 的treeGrid的时候,很多时候我们从数据库取出来的数据treeGrid却不能读取显示成一个树:如下 { menuCode: "a00", menuName: ...
- MVC4 +EasyUI 使用TreeGrid 方法
用easyui已经有2年了,换了新环境,要求用mvc开发,所以想把原来的项目直接用mvc重构. 在使用TreeGird的时候出现了问题,发现在转换为treegrid的json 很费劲,一直都是用的ea ...
- EasyUI TreeGrid DataTable转换数据实现案例
C#部分 /// <summary> /// Handler1 的摘要说明 /// </summary> public class Handler1 : IHttpHandle ...
- EasyUI中Treegrid节点的删除
// 删除function removes() { var rows = ruletreegrid.treegrid('getSelections'); if (rows &&am ...
- easyui treegrid逐步加载
$("#bomStructureTable").treegrid({ url : "systemcontroller?id=10007",//首次查询路径 qu ...
随机推荐
- WEBBASE篇: 第十篇, JavaScript知识5
JavaScript知识5 <!doctype html> <html lang="en"> <head> <meta charset=& ...
- Feign源码解析系列-那些注解们
开始 Feign在Spring Cloud体系中被整合进来作为web service客户端,使用HTTP请求远程服务时能就像调用本地方法,可见在未来一段时间内,大多数Spring Cloud架构的微服 ...
- Java内省机制
转自: https://blog.csdn.net/hahalzb/article/details/5972421 1.java内省机制其实通俗的理解为,对自身的进行一个扫描,这个扫描的对象就是我们普 ...
- Spring Boot相关~
Introducing Spring Boot Spring Boot makes it easy to create stand-alone, production-grade Spring-bas ...
- python中random模块的使用
import random random.random() 产生0-1间的随机小数 >>> res = random.random() >>> print(res) ...
- Spring Boot + JPA 因为 javassist 包出现 NullPointerException 问题的解决
Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.ent ...
- JavaScript之更改闭包内的变量值
var f = function( ) { var x = 1 function fo() { console.log( x++ ) } return fo } var fn = f() fn() ...
- Linux内核中常用的数据结构和算法(转)
知乎链接:https://zhuanlan.zhihu.com/p/58087261 Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树. 链表 Linux内核代码大量使用了 ...
- nginx配置备份
server { listen 80; server_name localhost; set $expires_duration "30d"; if ($uri ~* \.html ...
- vue.js安装过程(npm安装)
一.开发环境 vue推荐开发环境: Node.js: JavaScript运行环境(runtime),不同系统直接运行各种编程语言 npm: Nodejs下的包管理器. webpack: 它主要的用途 ...