好用的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 ...
随机推荐
- s21day20 python笔记
s21day20 python笔记 一.内容回顾 面向对象的三大特性 封装 函数封装到类 数据封装到对象 继承 多态 二.成员 2.1 类成员 类变量(静态字段) 定义:写在类的下一级,和方法同一级 ...
- vue中使用video插件vue-video-player
一.安装插件 npm install vue-video-player --save 二.配置插件 在main.js中全局配置插件 import VideoPlayer from 'vue-video ...
- [经验分享] MySQL Innodb表导致死锁日志情况分析与归纳【转,纯学习】
在定时脚本运行过程中,发现当备份表格的sql语句与删除该表部分数据的sql语句同时运行时,mysql会检测出死锁,并打印出日志. 两个sql语句如下: (1)insert into backup_ta ...
- .htaccess 文件来进行用户组的目录权限访问控制
<IfModule rewrite_module>RewriteEngine onRewriteRule ^((?:bootstrap|css|img|js||MathJax|video) ...
- JQ方法实用案例///鼠标移动到div和修改ipt中弹窗、CSS鼠标变小手、JQ获取元素属性、JQ选择器
今天学习了jQ,jQ对js的帮助很大,菜鸟教程上也有属性.可以查看 js 和 jquery主要的区别 在 dom 想用jquery 必须先引入(顺序问题) 先css 再js: ...
- Python练习二
1.计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和 sum1 = 0 sum2 = 0 count = 0 while count < 99: count += 1 if ...
- BUAA-OO第二单元小结
一.设计策略 三次作业中,由于前两次作业都只有一部电梯,因此我的线程只有两个,一个等待队列输入进程,以及一个电梯运行进程.等待队列输入进程实现十分简单,只需要根据输入把request添加到等待队列即可 ...
- mnist的格式说明,以及在python3.x和python 2.x读取mnist数据集的不同
有一个关于mnist的一个事例可以参考,我觉得写的很好:http://www.cnblogs.com/x1957/archive/2012/06/02/2531503.html #!/usr/bin/ ...
- Java技术开发程序员如果在2019年立足
2019年的互联网环境相对以往来说要更复杂一些,互联网领域也正在经历从消费互联网向产业互联网转型的阵痛期.其实不少公司从2018年开始已经在陆续进行结构化调整,这些调整中的重要内容就是岗位调整,而岗位 ...
- Go 变量声明后若不赋值,各类型默认值
Go 变量声明后若不赋值,各类型默认值(数字类型默认为 0,其他类型为 nil): 数据类型 默认值 bool false string 空字符串 int 0 float32 0 float64 0 ...