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. ckeditor_学习(2) 功能概览

    这篇文章用来说明 ckeditor 的所有可配置的功能,分为终端用户配置和开发者配置 1.终端用户配置 用户接口 – 设置编辑器的UI和语言 Editor 尺寸设置 – 设置编辑器的尺寸 插入内容 – ...

  2. pip install -r requirements.txt

    生成文件 pip freeze > requirements.txt pip install --help Usage: pip install [options] <requiremen ...

  3. echarts数据区域缩放(鼠标滚轮、滚动条、拉选框)

    当一个echarts图表上的数据很多时,想要查看部分区域的数据状态,可以通过数据区域缩放来实现,现总结三个方法: 鼠标滚轮缩放: var arr = []; for(var i = 0;i<15 ...

  4. 我的代码-sql query

    # coding: utf-8 # In[ ]: WITH List AS (SELECT e.*,f.* FROM( SELECT DISTINCT c.lot_id, c.wafer_key,LE ...

  5. curl请求

    <?php $cookie_file = tempnam('./temp','cookie');  //创建cookie文件保存的位置/** * [curl description] * @pa ...

  6. ROS * 了解xacro的编写

    在urdf文件中,会有很多内容是一样的,当要改变这些语句重某一个相同的参数时却要更改很多次,很吗发,于是有了一种精简化.可复用.模块化的描述形式——xacro 废话少说 声明重复使用的常量 <? ...

  7. C# 枚举用法

    public static class EnumExtensions { public static string GetDescription(this Enum value) { return v ...

  8. JavaScript杂谈(第六天)

    js中可以使用Function创建函数 var func=new Function(); 这个对象可以将字符串转换为函数 var func=new Function("console.wri ...

  9. 第五章Bookstrap

    响应式原理: @media screen and (min-width:300px) and (max-width:500px) { /* CSS 代码 */ } #代表页面宽度大于300px和小雨5 ...

  10. Ubuntu 16.10的root默认密码设置

    1.终端输入sudo passwd 2.输入当前用户密码,回车 3.按照终端提示输入新的root密码并确认 4.su root 输入新的密码 5.修改root密码成功