版权声明:本文为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. BZOJ 1042 [HAOI2008]硬币购物(完全背包+容斥)

    题意: 4种硬币买价值为V的商品,每种硬币有numi个,问有多少种买法 1000次询问,numi<1e5 思路: 完全背包计算出没有numi限制下的买法, 然后答案为dp[V]-(s1+s2+s ...

  2. num07---工厂方法模式

    一.简单工厂模式 [之所以叫简单,说明没有完全做到 设计模式的要求] 前言:活字印刷术,面向对象思想 复用 维护 扩展 灵活 高内聚低耦合 以 实现 一个计算器 为例: 1.创建 抽象类count, ...

  3. Golang import具体使用

    使用gopath的时候,一般引用是从src下一层开始,比如src/github.com/…,引用github.com…,我的工程src/xxx.com/go-qb/…,引用xxx.com/go-qb/ ...

  4. 轻松搞懂Python递归函数的原理与应用

    递归: 在函数的定义中,函数内部的语句调用函数本身. 1.递归的原理 学习任何计算机语言过程中,“递归”一直是所有人心中的疼.不知你是否听过这个冷笑话:“一个面包,走着走着饿了,于是就把自己吃了”. ...

  5. one-hot编码(pytorch实现)

    n = 5 #类别数 indices = torch.randint(0, n, size=(15,15)) #生成数组元素0~5的二维数组(15*15) one_hot = torch.nn.fun ...

  6. Markdown编写接口文档模版

    接口名称 1) 请求地址 https://apis.cnblogs.com/user/info?a=xx&b=xx 2) 调用方式:HTTP GET 3) 接口描述: 接口描述详情 4) 请求 ...

  7. Mysql 5.7 主从复制的多线程复制配置方式

    数据库复制的主要性能问题就是数据延时 为了优化复制性能,Mysql 5.6 引入了 “多线程复制” 这个新功能 但 5.6 中的每个线程只能处理一个数据库,所以如果只有一个数据库,或者绝大多数写操作都 ...

  8. vue路由--命名路由

    有时我们通过一个名称来标识一个路由显得更方便一些,特别是在链接一个路由,或者是执行一些跳转的时候.你可以在创建 Router 实例的时候,在 routes 配置中给某个路由设置名称. 我们直接在路由下 ...

  9. 量化投资学习笔记27——《Python机器学习应用》课程笔记01

    北京理工大学在线课程: http://www.icourse163.org/course/BIT-1001872001 机器学习分类 监督学习 无监督学习 半监督学习 强化学习 深度学习 Scikit ...

  10. if-else连用时的陷阱

    近日,在实现<The C  Programing Language>上的一个练习题时,写出了下面一段代码 ; i<=right; i++) { ) ) swap(v, i, ++la ...