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. flume中sink到hdfs,文件系统频繁产生文件,文件滚动配置不起作用?

    在测试hdfs的sink,发现sink端的文件滚动配置项起不到任何作用,配置如下: a1.sinks.k1.type=hdfs a1.sinks.k1.channel=c1 a1.sinks.k1.h ...

  2. 连接mysql用mysql_connect不能连接

    用mysqli_connect就可以解决. mysqli_array()有连个参数,第一个是连接mysql名. php遇到这个警告Warning: Use of undefined constant ...

  3. Web测试常见问题点汇总

    UI测试 [目标] 确保用户可以访问产品所提供的浏览功能.符合企业或行业标准,包含用户易用性,友好性.可操作性等 [关注点] 菜单.对话框以及上边的文字.按钮.错误提示.帮助信息.图标.位置等. [常 ...

  4. 51单片机---点亮一个LED灯

    1 程序源码 #include <REGX52.H> `包含51单片机的头文件` sbit led = P0^0; int main(void) { while(1) { led = 1; ...

  5. SpringBoot打成jar包后,获取不到读取resources目录下文件路径的问题

    问题描述: Springboot没有打成jar之前,可以成功获取读取resources目录下xxx.json文件的 路径.但是打成jar包后,接口调不通,原因是获取不到文件的路径. 原因: 在本地进行 ...

  6. 多线程——C++

    线程: 先说进程,进程是应用程序的执行实例,每个进程拥有其私有的虚拟地址空间.代码.数据和其它系统资源组成.进程在运行时创建的资源随着进程的终止而死亡. 而线程是一个独立的执行流,是进程内部的一个独立 ...

  7. FixedUpdate()使用

    当MonoBehaviour启用时,其 FixedUpdate在每一帧被调用. 处理Rigidbody时,需要用FixedUpdate代替Update.例如:给刚体加一个作用力时,你必须应用作用力在F ...

  8. 学习笔记TF053:循环神经网络,TensorFlow Model Zoo,强化学习,深度森林,深度学习艺术

    循环神经网络.https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/re ...

  9. Linux第九节课学习笔记

    fdisk可添加.删除.转换分区. 创建主分区:n-p-w:扩展分区:n-e:逻辑分区:n-l. SWAP分区专用格式化命令mkswap,专用挂载命令swapon. 磁盘容量配额中,硬限制必须,软限制 ...

  10. python实现linux下文件遍历

    import os def getAllFile(*names): if len(names) == 0: return "" else: allList = [] for nam ...