最近我们的表格中,需要更改数据的显示方式,就是jqgrid中以树形的方式显示。请先看图:

  

  就是简单的这种从属方式。但是因为这个没有找到官方的文档(后来找到了,但是发现是翻译过来的,也不是很清楚),所以做出来稍微的有点困难,好在方法总比困难多。这个问题还是解决了,在这里我记录一下。方便以后的小伙伴们运用,如果有大神的话,也欢迎指出错误。

  首先是在jqgrid中需要添加东西,请看下面的demo:

 treeGrid: true,
treeGridModel: 'adjacency', //固定写法,还有其他的一种方式,但是那种没有研究过
ExpandColumn : 'agent_id', //
ExpandColClick: true, //能不能点击 false就不能点击了,true就是能点击
treeReader : {
//前面的四个参数需要在json中展示
level_field: "level", //级别,主要是就是说展现出来是第几层,最高级是0,然后是1,2,3……
parent_id_field: "parent", //用来标识哪个是父元素(需要时字符串格式:“parent”:“123”是可以的,但是如果是“parent”:123就错了)
leaf_field: "is_leaf", //是不是根节点,false表示这个不是最后的节点,true表示是最后的节点。(如果这个是最后的节点,但是设置的还是false,会发生一种情况,就是点击这个又重新加载了一遍数据)
expanded_field: "expanded", //是不是需要展开,false不展开,true展开
loaded_field:true //
},

就是这12行代码,其实上面的写在html中,前端的任务就算是完成了。但是考虑到还需要后台数据的配合,所以下面还是需要说一下, json数据的格式。

  下面贴出来数据的格式:

 [
{
"agent_id": "2019-04-17",
"game_id": "134283522",
"level": 0,
"is_leaf": false,
"players": 42,
"rounds": 42,
"bets": 13650000,
"effects": 26650000,
"total_revenue": 8850000,
"fees": 650000,
"total_win_agent": -8850000,
"id":"134283522",
"expanded":false
}, {
"game_id": "134283522",
"agent_id": 96292,
"players": 42,
"rounds": 42,
"bets": "13650000",
"effects": "26650000",
"fees": "650000",
"total_win_agent": "-8850000",
"total_revenue": "8850000",
"level": 1,
"is_leaf": true,
"parent": "134283522",
"expanded":false
}, {
"agent_id": "2019-04-17",
"game_id": "134284035",
"level": 0,
"is_leaf": false,
"players": 6,
"rounds": 6,
"bets": 1800000,
"effects": 950000,
"total_revenue": 150000,
"fees": 50000,
"total_win_agent": -150000,
"id":"134284035",
"expanded":false
}, {
"game_id": "134284035",
"agent_id": 96292,
"players": 6,
"rounds": 6,
"bets": "1800000",
"effects": "950000",
"fees": "50000",
"total_win_agent": "-150000",
"total_revenue": "150000",
"level": 1,
"is_leaf": true,
"parent": "134284035"
},
{
"game_id": "134284035",
"agent_id": 96292,
"players": 6,
"rounds": 6,
"bets": "1800000",
"effects": "950000",
"fees": "50000",
"total_win_agent": "-150000",
"total_revenue": "150000",
"level": 1,
"is_leaf": false,
"parent": "134284035",
"id":"123"
},
{
"parent":"123",
"game_id": "134284035",
"agent_id": 96292,
"players": 6,
"rounds": 6,
"bets": "1800000",
"effects": "950000",
"fees": "50000",
"total_win_agent": "-150000",
"total_revenue": "150000",
"level": 2,
"is_leaf": true
}
]

里面除了原来的数据,还需要把咱们需要的东西加进来。而且因为是个数组,所以这里面的数据是有顺序的,如果顺序不对的话,显示就有问题了。这里需要注意

jqgrid three 树形结构的更多相关文章

  1. 使用ztree.js,受益一生,十分钟学会使用tree树形结构插件

    看到ztree.js,这几个字眼,毋庸置疑,那肯定就是tree树形结构了,曾经的swing年代有jtree,后来jquery年代有jstree和treeview,虽然我没写过,但是我见过,一些小功能做 ...

  2. js文章列表的树形结构输出

    文章表设计成这样了 后端直接给了无任何处理的json数据,现在要前端实现树形结构的输出,其实后端处理更简单写,不过既然来了就码出来 var doclist = [{ "id": 1 ...

  3. GridView 树形结构分组的功能

    在“会飞的鱼”博客中看到GridView实现树形结构的代码,经过修改,添加了树形结构中的复选框功能,欢迎吐槽. 源地址:http://www.cnblogs.com/chhuic/archive/20 ...

  4. [从产品角度学EXCEL 02]-EXCEL里的树形结构

    这是<从产品角度学EXCEL>系列第三篇. 前言请看: 0 为什么要关注EXCEL的本质 1 excel是怎样运作的 或者你可以去微信公众号@尾巴说数 获得连载目录. 本文仅由尾巴本人发布 ...

  5. C# EasyUI树形结构权限管理模块

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 本节和大家探讨下C#使用EasyUI树形结构/Tree构 ...

  6. YbSoftwareFactory 代码生成插件【十八】:树形结构下的查询排序的数据库设计

    树形结构的排序在中国特色下十分普遍也非常重要,例如常说的五大班子,党委>人大>政府>政协>纪委,每个班子下还有部门,岗位,人员,最终排列的顺序通常需要按权力大小.重要性等进行排 ...

  7. Java创建树形结构算法实例

    在JavaWeb的相关开发中经常会涉及到多级菜单的展示,为了方便菜单的管理需要使用数据库进行支持,本例采用相关算法讲数据库中的条形记录进行相关组装和排序讲菜单组装成树形结构. 首先是需要的JavaBe ...

  8. Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结

    Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结 1.1. 树形结构-- 一对多的关系1 1.2. 树的相关术语: 1 1.3. 常见的树形结构 ...

  9. Linux/Ubuntu tree 命令以树形结构显示文件夹目录结构

    1.安装命令工具 sudo apt-get -y install tree 2.可以查看关于tree命令的帮助信息 $ tree --help usage: tree [-adfghilnpqrstu ...

随机推荐

  1. linux基础-系统安装教程篇(centos6.5)

    一.linux系统简介: Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程 ...

  2. Python 描述符是什么?以及如何实现

    先看一个例子,@property.被@property修饰的成员函数,将变为一个描述符.这是最简单的创建描述符的方式. class Foo: @property def attr(self): pri ...

  3. 通过jstack与jmap分析一次cpu打满的线上故障

    一.发现问题 下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复. 二.排查思路 简单分析下可能出问题 ...

  4. Masonry 抗压缩 抗拉伸

    约束优先级: 在Autolayout中每个约束都有一个优先级, 优先级的范围是1 ~ 1000.创建一个约束,默认的优先级是最高的1000 Content Hugging Priority: 该优先级 ...

  5. 数据库中table 和 schema的区别

    什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User? 我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个 ...

  6. vi/vim的常用快捷键

    vi/vim分为 命令模式,插入模式(编辑模式),末行模式(最后一行) 模式的转换 ① 其它模式==>正常模式 按 Esc键 ②正常模式==>插入模式 按 i 在光标前插入 按 I 在行首 ...

  7. SSM-SpringMVC-32:SpringMVC中灌顶传授文件上传

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 我将用自认为最简单的语言,描述Springmvc的文件上传,来将老夫毕生功力灌顶传授给你 首先文件上传,又简至 ...

  8. Activity的运行过程

    今天看到了这个关于Activity的过程这个方面的知识,之前我其实也是做过安卓项目的,也是有安卓开发的一定经验的,但是我发现之前似乎是知其然,而不知其所以然,之前来说只知道activity里的onCr ...

  9. CentOS6.*安装gitolite

    http://www.kankanews.com/ICkengine/archives/64748.shtml 2人收藏此文章, 发表于4小时前(2013-10-22 16:12) , 已有26次阅读 ...

  10. 把一个机器上1天内新增的文件用rsync传送到另外一台机器

    我的shell很菜,只好用shell和php结合来做 1.查找新增的文件,构造rsync的参数,把结果写入到log中 find /data/bmob/test/teststorage/data/ -m ...