zoukankan      html  css  js  c++  java
  • 好用的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、在页面上配置相关的信息,进行数据显示

     1 var tg = $("#tb").treegrid({
     2             url:'/my/stuTree/list/async',
     3             idField:'id', //根据那个字段判断树节点关系 一般都是id
     4             treeField:'name',  //只有name这个属性展现树结构
     5             method : 'get',
     6             height: 'auto',
     7             width : 'auto',
     8             fitColumns :true,
     9 
    10             //发出一个加载数据的请求前触发,返回 false 就取消加载动作
    11             onBeforeLoad:function(row,param){
    12                 if(row) {// //动态设置展开查询的url
    13                     $(this).treegrid('options').url='/my/stuTree/list/async?pId='+row.id;
    14                 }
    15             },
    16             columns:[[
    17                 {field:'name',title:'名称',150},
    18                 {field:'code',title:'编号',100},
    19                 {field:'status',title:'状态',formatter: function(value, row, index){ //这里可以对数据进行格式化
    20                     if(value == '1'){
    25                         return '<span class="label label-sm label-success"> 启用 </span>';
    26                     }
    27 
    28                     if(value == '2'){
    29                         return '<span class="label label-sm label-warning"> 停用 </span>';
    30                     }
    31 
    36                     return "";
    37                 }}
    46             ]]
    47         });

    也可以加上下面两个:
    $(window).resize(function () {//当调整浏览器窗口的大小时,发生 resize 事件。 tg.datagrid('resize', { '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;
        }

    实体类:

     1 @Entity
     2 @Table(name = "my_class")
     3 public class MyClass extends AbstractEntity {
     4     /**名称*/
     5     private String name;
     6     /**编号*/
     7     private String code;
     8 
     9     /**父节点Id*/
    10     private String pId;
    11 
    12     private String state = null;
    13 
    14     @Column(name = "name")
    15     public String getName() {
    16         return this.name;
    17     }
    18 
    19     public void setName(String name) {
    20         this.name = name;
    21     }
    22     @Column(name = "code")
    23     public String getCode() {
    24         return this.code;
    25     }
    26 
    27     public void setCode(String code) {
    28         this.code = code;
    29     }
    30    
    31     @Column(name = "p_id")
    32     public String getPId() {
    33         return this.pId;
    34     }
    35 
    36     public void setPId(String pId) {
    37         this.pId = pId;
    38     }
    39 
    40 
    41     @Column(name = "state")
    42     public String getState() {
    43         return state;
    44     }
    45 
    46     public void setState(String state) {
    47         this.state = state;
    48     }
    49 }

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

  • 相关阅读:
    第一条博客
    (原创)c#学习笔记08--面向对象编程简介01--面向对象编程的含义01--对象的含义01--属性和字段
    (原创)c#学习笔记06--函数06--委托
    (原创)c#学习笔记06--函数05--函数的重载
    (原创)c#学习笔记06--函数04--结构函数
    (原创)c#学习笔记06--函数03--main函数
    (原创)c#学习笔记06--函数02--变量的作用域02--参数和返回值与全局数据
    (原创)c#学习笔记06--函数02--变量的作用域01--其他结构中变量的作用域
    (原创)c#学习笔记06--函数01--定义和使用函数02--参数
    (原创)c#学习笔记06--函数01--定义和使用函数01--返回值
  • 原文地址:https://www.cnblogs.com/zyxs/p/8337355.html
Copyright © 2011-2022 走看看