easyUI中treegrid组件构造树形表格(简单数据类型)+ssm后台

  这几天做的项目要求用树形表格的形式展示一部分数据,于是就想到了使用easyUI的treegrid组件,但几经翻查各种资料,发现数据类型大多采取标准数据类型,即包含children元素的数据类型,小编查遍各种资料,几经实验,小编找到了一种使用简单数据类型的展示树形表格的方法。在这里介绍给大家,仅供参考:

  框架使用的是ssm框架,数据库用的是oracle,其中数据库中要展示的表设计成大致如下的样子:

  

  参考了一下easyUI的demo中给出的数据类型,如下格式:

  

  打开里面显示如下:

  

  这是一个json串,里面用于展示的是rows,total用于分页,footer我就不是很了解了,到这里我就想到后台controller层应该返回一个这样的json串给前台,让他去组装数据。但有一点要注意,在上面的数据结构中有一个_parentId,几经测试它的值就是我们的pid的值,那么现在问题就来了,是不是需要增加一个相应的字段呢,但是表结构是不能动的。我是这样做的,在相应的实体类里做了如下操作:

  

  而且前台识别的结构在后台可以用map集合来实现,所以后台是酱紫的:

  

  至于demo数据结构中的total和footer可以根据需要选择。

  看到easyUI的API文档中treegrid是这样写的:

  

  所以前台如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dept_list.jsp</title>
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/easyUI/jquery-easyui-1.4/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/easyUI/jquery-easyui-1.4/themes/icon.css">
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/ztree/css/zTreeStyle/zTreeStyle.css">
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/easyUI/jquery-easyui-1.4/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/ztree/js/jquery.ztree.all-3.5.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/easyUI/jquery-easyui-1.4/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript">
$(function(){
    //treegrid
    $(‘#tt‘).treegrid({    
        url:‘${pageContext.request.contextPath }/user/getdeptMap.action‘,   //访问后台的地址
        idField:‘id‘,    
        treeField:‘name‘,     
        columns:[[    
            {field:‘xxx‘,title:‘xxx‘,width:100,checkbox:true},     
            {field:‘id‘,title:‘ID‘,width:60,align:‘center‘},    
            {field:‘name‘,title:‘NAME‘,width:60,align:‘center‘},   
            {field:‘pid‘,title:‘PID‘,width:60,align:‘center‘},
            {field:‘xx‘,title:‘操作‘,width:100,
                formatter: function(value,row,index){
                    return "<a href=‘javascript:void(0)‘ onclick=‘update(\""+index+"\")‘>修改</a>"+
                    "-"+
                    "<a href=‘javascript:void(0)‘ onclick=‘del(\""+row.id+"\")‘>删除</a>";
                }
            }
        ]]
    });
    })
 
</script>
</head>
<body>
<table id="tt" data-options="fit:true,toolbar: ‘#tb‘" style="width:600px;height:400px" fitColumns="true"></table>  
</body>
</html>

   这样就完成了,效果图附上:

    

  第一次发博,谢谢大家光顾了!

时间: 2024-11-03 22:01:10

easyUI中treegrid组件构造树形表格(简单数据类型)+ssm后台的相关文章

EasyUI的treegrid组件动态加载数据问题的解决办法

http://www.jquerycn.cn/a_3455 —————————————————————————————————————————————————————————————————————————————————————— 最近涉及到treegrid组件的查询,需要根据查询条件动态更新EasyUI的treegrid组件的动态加载查询结果 搜遍了treegrid源码和文档发现treegrid是扩展自datagrid和tree的,不过以往利用datagrid的reload方法加参数的 方式

Easyui中tree组件实现搜索定位功能及展开节点定位

这几天遇到个input + tree  实现搜索功能的需求,在这里贴出来供大家参考下,如果你有更好的实现效果希望不腻赐教! 首先给大家看看效果     小二 上图  : 需要的部件知识: easyui API 方法: select       target        选择一个节点,'target'参数表示节点的DOM对象. expand    target         展开一个节点,'target'参数表示节点的DOM对象.在节点关闭或没有子节点的时候,节点ID的值(名为'id'的参数)

第二百二十八节,jQuery EasyUI,TreeGrid(树形表格)组件

jQuery EasyUI,TreeGrid(树形表格)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 TreeGrid(树形表格)组件的使用方法,这个组件依赖于 DataGrid(数据表格)组件. 一.加载方式 建立一个 JSON 文件 [ { "id": 1, "name": "系统管理", "date": "2015-05-10", &quo

TreeGrid( 树形表格)

本节课重点了解 EasyUI 中 TreeGrid(树形表格)组件的使用方法,这个组件依赖于DataGrid(数据表格)组件 一. 加载方式//建立一个 JSON 文件[{"id" : 1,"name" : "系统管理","date" : "2015-05-10","children" : [{"id" : 2,"name" : "主机信

Vue+abp树形表格

项目中需要用到树形表格,其他同学找了一个ZkTable,我也就跟着用了,不太好用,有更好的记得联系我.先说下缺点,如果这些不能满足你,后面也没必要看了. 缺点如下(也可能我不会用,如果你会一定记得告诉我): 第一列不能使用模板数据,必须是简单的属性字段,也就不能使用自定义html标签了,如果你用了,不好意思,整个数据显示不出来 单选没有高亮(根本没有单选?),反正我用的多选框代替单选 模板使用的插槽而不是render函数,模板复选框绑定的数据只能单向绑定,即在界面点选可以修改属性值,但是修改属性

Jquery easyui treegrid实现树形表格的行拖拽

前几天修改了系统的一个功能——实现树形列列表的行拖拽,以达到排序的目的.现在基本上功能实现,现做一个简单的总结. 1.拿到这个直接网上搜,有好多,但是看了后都觉得不是太复杂就是些不是特别想看的例子,自己太懒(对自己不是很熟悉的东西是不愿意第一去看的).结果选择良久,还是jquery easyui treegrid这个例子自己看起来比较熟悉.于是就专心研究了,从官方网站http://www.jeasyui.net/下载了demo,开始研读.先把jsp页面一些代码贴出 <link rel="s

SSH+Easyui之TreeGrid树形展现数据

本文介绍Struts2.Spring.Hibernate与easyui的TreeGrid结合,以树的形式展现数据库中数据.在开发中会碰到很多需要以树的形式展现数据,如导航条.权限管理模块中的资源管理,通常在数据库中都是以树的形式存在.例子程序以资源管理为例,使用treegrid展现资源管理子模块的数据.最终效果如下图: 使用easyui使用树形展现很简单,只需将<table>标签的class设为easyui-treegrid即可 <body class="easyui-layo

bootstrap treegrid 实现树形表格结构

前言 :最近的项目中需要实现树形表格功能,由于前端框架用的是bootstrap,但是bootstrapTable没有这个功能所以就找了一个前端的treegrid第三方组件进行了封装.现在把这个封装的组件贴出来 大家共同讨论进步. 1 效果图 2 组件下载地址 链接: https://pan.baidu.com/s/1R8jIGXimeJwUcL7WyqZjDA 密码: ud96 3 组件的使用 3.1 在页面中引入如下的文件 <link href="~/Content/bootstrap/

EXTJS 4 树形表格组件使用示例

EXTJS 4 树形表格组件使用示例 一.整体效果图 二.使用说明及效果图 2.1.程序代码及说明: 2.1.1.表格存储部分的代码说明 //开启tooltip工具 Ext.QuickTips.init(); //定义model Ext.define('partModel', { extend: 'Ext.data.Model', fields: [ {name: 'partNo', type: 'string'}, {name: 'partName', type: 'string'}, {na