版权声明:本文为sunziren原创文章,博客园首发,转载务必注明出处以及作者名称。


  最近,工作中有一个网页需要用到前端框架easyui的treegrid组件,因此我对这个treegird研究了一段时间,踩了很多坑,你必须要按照它的要求来,不然那个treegrid就出不来。

  1.  首先要注意的是,在treegrid前端定义的时候,一定要注明idField和treeField,前者是节点的id,后者是节点的文本。这两个参数必须要有。

  2.  其次要注意的是,后台发往前台的json格式字符串数据,貌似有两种类型。第一种是每一条数据分开的,父数据和子数据分开,每条数据没有childred项,只有“id”、“text”、“_parentId”这三个必须项和你的其他属性项(注意,“_parentId”不要拼写错误,否则前台无法显示,注意里面那个字母“I”是大写的“i”。);第二种类型是没有“_parentId”但是有“children”属性,由于这种格式我试了很久没试出来,就改用第一种方式了。

  3.  最后要注意的是,后台拼接JSON字符串的时候,如果一条数据是根节点,那么就不要给这条数据拼接“_parentId”属性了,根节点不要这个属性,否则前台无法显示。如果不是根节点,那么必须要指明“_parentId”属性值。也就是父节点id。

  4.  下面我把我的后台拼接的代码贴上来。大家不要觉得我写的太差,你觉得不好请在评论区指出。


  import net.sf.json.JSONArray;
  import net.sf.json.JSONObject;
  import net.sf.json.JsonConfig;

   //查看系统功能项(获取树形结构)
public void showXtgnxList(){
Map<String, Object> params = new HashMap<String, Object>();
StringBuffer sql = new StringBuffer("select gnxbh,gnxmc,sjgnbh test_table where 1=1 ");
JsonConfig config=new JsonConfig();
config.registerJsonValueProcessor(java.util.Date.class, new JsonValueProcessorImpl());
config.registerJsonValueProcessor(java.sql.Date.class, new JsonValueProcessorImpl());
JSONArray arr = JSONArray.fromObject(baseDao.getByExample(sql.toString(),null,params).getList(),config);
JSONObject targetObj = new JSONObject();
JSONObject footer = new JSONObject();
for(int i=0;i<arr.size();i++){
JSONObject json = (JSONObject) arr.get(i);
if(json.get("SJGNBH").equals("-1")==false){
if(Utils.isNotEmpty(xtgnmc)){ }else{
json.put("_parentId", json.get("SJGNBH"));
json.remove("SJGNBH");
}
}
}
targetObj.put("total", arr.size());
targetObj.put("rows", arr);
footer.put("name", "Total Persons:");
footer.put("persons", 7);
footer.put("iconCls", "icon-sum");
targetObj.put("footer",footer);
this.printToJson(targetObj.toString());
}

  这次就写到这里吧。

Easyui-Treegrid使用注意事项-sunziren的更多相关文章

  1. 基于EasyUI Treegrid的权限管理资源列表

    1. 前言 最近在开发系统权限管理相关的功能,主要包含用户管理,资源管理,角色管理,组类别管理等小的模块.之前的Web开发中也用过jQueryEasyUI插件,感觉这款插件简单易用,上手很快.以前用到 ...

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

    前几天修改了系统的一个功能——实现树形列列表的行拖拽,以达到排序的目的.现在基本上功能实现,现做一个简单的总结. 1.拿到这个直接网上搜,有好多,但是看了后都觉得不是太复杂就是些不是特别想看的例子,自 ...

  3. EasyUi TreeGrid封装

    礼物一:树型实体的抽象与封装 所谓树型实体,就是具有树型结构关系的实体,比如省.市.区.对于初学者,可能会创建三张表进行存储,有经验的开发者通过引入ParentId将设计简化为一张表,但是基于Pare ...

  4. easy-ui treegrid 实现分页 并且添加自定义checkbox

    首先第一点easy-ui  treegrid 对分页没有好的实现, 因为在分页的过程中是按照 根节点来分页的  后台只能先按照 根节点做分页查询  再将子节点关联进去, 这样才能将treegrid 按 ...

  5. easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下

    easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下

  6. 数据网格和树-EasyUI Datagrid 数据网格、EasyUI Propertygrid 属性网格、EasyUI Tree 树、EasyUI Treegrid 树形网格

    EasyUI Datagrid 数据网格 扩展自 $.fn.panel.defaults.通过 $.fn.datagrid.defaults 重写默认的 defaults. 数据网格(datagrid ...

  7. EasyUI treegrid 加载checked

    EasyUI treegrid  加载checked $(function () { $('#tbDictContTree').treegrid({ title: '数据字典目录管理', iconCl ...

  8. Easyui treegrid 无法显示树形结构解决办法

    easyui treegrid 中检查了数据结构没有问题的,但就是不展示树形结构, 检查发现原来是 var columnsAll = [ { title: '任务ID', field: 'TaskID ...

  9. 适用于zTree 、EasyUI tree、EasyUI treegrid

    #region          System.Text.StringBuilder b_appline = new System.Text.StringBuilder();        Syste ...

  10. Easyui-Tree和Combotree使用注意事项-sunziren

    版权声明:本文为sunziren原创文章,博客园首发,转载务必注明出处以及作者名称. Easyui-Tree和Combotree所使用的数据结构是类似的,在我的上一篇文章<Easyui-Tree ...

随机推荐

  1. ARTS Week 6

    Dec 2, 2019 ~ Dec 8, 2019 Algorithm 从本周开始,由于要涉及某一算法,但我又有选择困难症.所以我决定在Leetcode刷题的,用ARTS中的算法部分来记录本周值得记录 ...

  2. jsp关于request.setAttribue还有response.addCookie()的两个问题

    刚才使用request.getAttribute();时候无法获取到值,一直为null,经过分析,得到下面的 index1.jsp <%-- Created by IntelliJ IDEA. ...

  3. WSL2+Docker部署RabbitMQ以及在Asp.net core 中使用RabbitMQ示例(1)

    本文主要在于最近因疫情不能外出,在家研究的一些技术积累. 主要用到的技术以及知识点: WSL 2 WSL 2+Docker Docker+RabbitMQ 在ASP.NET Core中使用Rabbit ...

  4. 批处理(BAT) Ping监控, 结果记录入日志文件

    ::执行效果 @echo off ::等待用户输入需要监控IP set /p ip=Input the IP required to monitor: echo executing...... :st ...

  5. Html / XHtml 解析 - Parsing Html and XHtml

    Html / XHtml 解析 - Parsing Html and XHtml HTMLParser 模块 通过 HTMLParser 模块来解析 html 文件通常的做法是, 建立一个 HTMLP ...

  6. Python 高级网络操作 - Python Advanced Network Operations

    Python 高级网络操作 - Python Advanced Network Operations Half Open Socket, 一个单向的 socket 被称为 half open sock ...

  7. [Windows]远程管理服务WinRM远程管理Windows服务器 Invalid use of command line. Type "winrm -?" for help.

    运行环境 Windows 2012 R2 1. Windows需要打开WinRM服务,Server系统默认打开,默认端口5985 # WinRM服务查看 PS C:\Users\Administrat ...

  8. struts2动态调用+Servlet过滤器+struts2拦截器

    周末真的是懒到心慌...... 本文是在完整s2sh项目基础上添加的,不太了解s2sh项目构建的朋友可以先参考一下这几篇文章: eclipse环境下基于tomcat-7.0.82构建struts2项目 ...

  9. Java自学-多线程 线程安全的类

    Java常见的线程安全相关的面试题 步骤 1 : HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 区别1: HashMap可以 ...

  10. asp.net abp模块化开发之通用树2:设计思路及源码解析

    一.前言 上一篇大概说了下abp通用树形模块如何使用,本篇主要分析下设计思路. 日常开发中会用到很多树状结构的数据,比如:产品的多级分类.省市区县,大多数系统也会用到类似“通用字典/数据字典”的功能, ...