版权声明:本文为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. SSL:GoDaddy SSL证书制作和安装

    简介 SSL证书是数字证书的一种类似于驾驶证.护照和营业执照的电子副本.因为配置在服务器上,也称为SSL服务器证书.SSL 证书就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁 ...

  2. 你知道EasyX吗

    关于C++控制台上的图形界面,你知道一个东西叫做EasyX吗? 作为一个退役的OI选手(WTF?\(3^2-3^1\)年级退役?),在退役之后总想找点事情做. 开发个游戏?(我只会控制台) 学下人工智 ...

  3. 基于 H5和 3D WebVR 的可视化虚拟现实培训系统

    前言 2019 年 VR, AR, XR, 5G, 工业互联网等名词频繁出现在我们的视野中,信息的分享与虚实的结合已经成为大势所趋,5G 是新一代信息通信技术升级的重要方向,工业互联网是制造业转型升级 ...

  4. 《Redis5.x入门教程》之准备工作、数据类型

    关注公众号:CoderBuff,回复"redis"获取<Redis5.x入门教程>完整版PDF. 第一章 · 准备工作 Redis安装 Redis5.0.7下载地址:h ...

  5. [Python]JavaScript VS Python 函数

    js function 相当于 python def js语句结束符; python为缩进符 JavaScript /*定义*/ function 函数名(参数1,参数2,参数3...){ 函数体 } ...

  6. Emmet:HTML/CSS代码快速编写

    html缩写: 1.  初始化 HTML文档需要包含一些固定的标签,比如<html>.<head>.<body>等,现在你只需要1秒钟就可以输入这些标签.比如输入“ ...

  7. 跨域打开页面:Uncaught DOMException: Blocked a frame with origin

    Uncaught DOMException: Blocked a frame with origin 使用postMessage()方法可以解决跨域传值的问题 Api: https://develop ...

  8. java开发JSP+Servlet+bootstrap开发电影院购票系统 源码

    基于JSP+Servlet+bootstrap开发电影院购票系统:开发环境: Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+Mysql数据库 程序要求:电影院订票系统 用 ...

  9. RabbitMQ工作模式

    ------------恢复内容开始------------ RabbitMQ基本概念: Producer:生产者(消息的提供者) Consumer:消费者(消息的使用者) Message:消息(程序 ...

  10. JS对象的概念、声明方式等及js中的继承与封装

    对象的遍历 对象可以当做数组处理,使用for in var person={}; person.name="cyy"; person.age=25; person.infos=fu ...