dataTables.treeGrid

  • 插件介绍
  • 更新日志
  • 真实系统展现效果
  • DEMO参考
  • 使用方法
  • DataTable 渲染JSON数据格式
  • HTML数据格式(以DEMO截图代码为例)

插件介绍

针对DataTables写的树形表格插件(什么是DataTables? 可以点击访问官网了解)
在原DataTables基础上可以快速实现树形表格的渲染:
1、支持自定义展开/收缩 图标
2、支持自定义缩进距离
3、N层子集展开父级收缩 子集统一收缩;
4、支持外部调用expandAll() / collapseAll() 方法;

插件地址:https://github.com/lhmyy521125/dataTables.treeGrid

更新日志

2020-4-16:千呼万唤始出来,很多朋友再CSDN博客上反馈了插件的一些问题,博主的公司因为已经很少用dataTable(都使用VUE啦)所以很少去弄这款插件了,今天呢总算抽时间完善了这款插件,更新内容如下:

  • 1、解决dataTable reload() / draw() 时树形失效问题
  • 2、采用新的初始化方式,可以外部调用 expandAll() / collapseAll() 方法
//@examplevar table = $('#example').dataTable( { ... } );var tree = new $.fn.dataTable.treeGrid( table );tree.expandAll();tree.collapseAll();
  • 3、更新后更容易对插件进行扩展,可以自定义自己需要实现的功能,参考expandAll() / collapseAll() 自己定义自己的方法,处理不同的需求

2019-5-8:很多朋友在博客私信说要一份DEMO,今天上传了DEMO样例仅供大家参考;注意要在WEB容器运行
2019-4-11:新增expandAll配置属性,true默认展开,false不展开不配置默认false
2018-10-11:当多层数据时,第一个子集未展开,第二个子集展开,点击父级收缩会出现死循环问题解决;
2018-10-11:多层子集收缩的时候会导致第二级以下的展开不会删除问题;解决方案采用递归方式改写收缩方法

真实系统展现效果

DEMO参考

GitHub上DEMO的 运行效果,感兴趣的可以自行下载运行体验~~
[DEMO地址:https://github.com/lhmyy521125/dataTables.treeGrid/tree/master/DataTables%20Demo

使用方法

//注意自行下载 dataTables
<script src='您的资源目录/jquery.js'></script>
<script src='您的资源目录/jquery.dataTables.min.js'></script>
//引入我们写的dataTables  Tree 插件
<script src='您的资源目录/dataTables.treeGrid.js'></script>

DataTable 渲染JSON数据格式

// JSON对象数据应包含一个属性“children”作为子集
{
"data": [{"name": "lhmyy521125",..."children": [{"name": "hello",...}]}]
}

HTML数据格式(以DEMO截图代码为例)

 <!-- DEMO样例仅供大家参考;注意要在WEB容器运行 如:IIS、Nginx、Tomcat等 否则AJAX会以 file:// 请求出现错误;--><table class="table table-striped table-bordered table-hover" id="treetable"><thead><tr><th></th><th>部门名称</th><th>英文名称</th><th>负责人</th><th>部门电话</th><th>部门地址</th><th>主要职能</th></tr></thead><tbody></tbody></table><script type="text/javascript">var dataTable;var tree;$(function () {dataTable = $('#treetable').DataTable({/**l - Length changing 改变每页显示多少条数据的控件f - Filtering input 即时搜索框控件t - The Table 表格本身i - Information 表格相关信息控件p - Pagination 分页控件r - pRocessing 加载等待显示信息**/"dom": "tr","ordering": false, //禁用排序"processing": true,"serverSide": true,"ajax": {"url": "json/data.json",// "async": false},"columns": [{className: 'treegrid-control',data: function (item) {if (item.children != null && item.children.length > 0) {return '<span> + </span>';}return '';}},{"data": "name"},{"data": "nameEn"},{"data": "headMan"},{"data": "tel"},{"data": "address"},{"data": "functions"}],"columnDefs": [{"defaultContent": "","targets": "_all"}]});/** 采用对象构建插件,方便我们调用插件内部方法 **/tree = new $.fn.dataTable.TreeGrid(dataTable,{left: 15,expandAll: true,expandIcon: '<span>++</span>',collapseIcon: '<span>--</span>'});});function expandAll(){tree.expandAll();
}function collapseAll(){tree.collapseAll();
}function reload(){dataTable.ajax.reload();
}function draw(){dataTable.draw(false);
}
</script><div>
<button class="btn btn-primary" type="button" onclick="expandAll()">expandAll()</button>
<button class="btn btn-primary" type="button" onclick="collapseAll()">collapseAll()</button>
<button class="btn btn-primary" type="button" onclick="reload()">reload()</button>
<button class="btn btn-primary" type="button" onclick="draw()">draw()</button>
</div></body>
</html>

插件地址:https://github.com/lhmyy521125/dataTables.treeGrid

如果该插件帮助到您,别忘记了点个 star 对我的支持~

DataTables TreeGrid 插件 可以快速实现树形表格相关推荐

  1. 树形表格TreeGrid

    树形表格TreeGrid 展开 1.效果截图 2.数据结构 [{"mcode":"UI","mname":"页面开发模板" ...

  2. 不容错过的精美的树形表格treegrid在项目里面使用总结

    一 问题描述: 树形表格TreeGrid在日常项目中还是运用的比较多的,哪究竟都在什么地方使用呢? 二 使用场景 TreeGrid它具体使用在什么地方? 首页您要用TreeGrid,肯定是它的特点满足 ...

  3. php 可以编辑treegrid,TreeGrid(树形表格)

    TreeGrid(树形表格) 扩展自$.fn.datagrid.defaults.使用$.fn.treegrid.defaults重写默认值对象. 树形表格用于显示分层数据表格.它是基于数据表格.组合 ...

  4. 树形表格treeTable插件实现固定列功能

    因为要做树形表格使用treeTable插件,但目前插件作者还没有更新表格固定列的功能,恰巧项目又需要实现表格固定列这一需求,所以自己写了能实现固定列的函数. <script>//固定列fu ...

  5. TreeGrid(树形表格)

    树形表格用于显示分层数据表格.它是基于表格,组合树控件和可编辑表格.树形表格允许用户创建可定制的.异步展开行和显示在多列上的分层数据. 示例 使用HTML标签创建树形表格,树形表格遵循数据表格的结构

  6. bootstrap 树形表格渲染慢_bootstrap-table-treegrid数据量较大时渲染太久了

    bootstrap-table-treegrid数据量较大时渲染太久了 森姐姐 2019-10-23 16:48:51 2260 收藏 2 分类专栏: 遇到的问题 最后发布:2019-10-23 16 ...

  7. wps vba宏插件_合并和拆分表格,告别VBA和插件,用WPS表格自带功能一键搞定,而且免费!...

    Excel情报局 生产搬运分享Excel基础技能 OFFICE知识文艺青年 用1%的Excel基础搞定99%的日常工作 做一个有文艺范的Excel公众号 Excel是门手艺 玩转需要勇气 表哥带你玩转 ...

  8. TreeGrid插件简练了解使用

    这是TreeGrid插件的简单实用不足之处,请各位大佬指正. TreeGrid插件是生成带层级列表的,可折叠的菜单列表,columns是插件指定的配置每一列展示格式,及使用的数据字段名称的配置项,以j ...

  9. LayUI treetable树形表格的实现, 数据格式正确,不显示的解决方案 和在这个过程中遇到的坑~ 认真看 你会得到一些想要的答案。

    先给大家看下效果吧! 我这边只是针对数据显示的问题做了解释.并没有增删改查.找增删改查的同学可以不用看了. 做出这样的效果,首先我们要借用LayUI的内置插件,treetable.js 网上有很多,之 ...

最新文章

  1. 同源注释工具GeneWise安装和使用
  2. 关于FTP上传方法 (by Liang)
  3. VMware安装MacOSx系统
  4. centos ping不通局域网_新手小白初次安装虚拟机,网络不通怎么办,踩过的坑都告诉你...
  5. osgi架构与linux_OSGi:进入微服务架构的门户
  6. 如何开始使用任何类型的数据? - 第1部分
  7. css sprites css精灵
  8. java 反射 设置属性_Java通过反射机制动态设置对象属性值的方法
  9. bug篇——mysql版本不支持group by分组
  10. JSADS-日志对象MyLogger
  11. 如何批量下载《大数据分析实用技术案例》的学习视频
  12. html渐变颜色代码表,渐变颜色代码表
  13. crontab 误删除恢复
  14. AM335x开发环境搭建 基于MYD-AM335x开发板 超详细
  15. java枚举ordinal()接口怎么用,java.lang.Enum.ordinal()方法实例
  16. 武汉高中计算机网络技术分数线,2021年武汉高中录取分数线排名公布
  17. python基本数据类型之字典详解
  18. 单片机C语言仿真图,单片机C语言程序设计代码和仿真图.doc
  19. gitlab推送企业微信机器人项目代码
  20. 话说当时武松踏住蒋 水浒传

热门文章

  1. 什么行业前景好最赚钱?来看看,这十大最赚钱的行业!
  2. ios王者荣耀怎么改超长名称空白名称
  3. 李辰AE+C4D基础到精通教程
  4. linux命令与编程笔记
  5. 1到n的正整数x出现的次数
  6. 手机怎么投屏在电视上?
  7. oracle dba_users,dba_users字典以及用户管理
  8. Cloudreve搭建云盘系统,并内网穿透实现公网访问
  9. 纪念入手第一个机械键盘
  10. ?? php语法,PHP基本语法汇总