easyui-tree动态获取后台数据成为书结构的操作
2015-05-20 16:13
411 查看
属性easyui前端框架的应该知道,返回树的json类型:
INSERT INTO `basic_organ_buss` VALUES ('1', '0', '总部', 'zongbu', null, null, null, null, null, null);
INSERT INTO `basic_organ_buss` VALUES ('2', '1', '美加百利', 'meijiabaili', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('3', '1', '前程百利', 'qianchengbaili', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('4', '1', '可为百利', 'keweibaili', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('5', '2', '咨询部', 'mj_zixubu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('6', '2', '宣传部', 'mj_xuanchangbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('7', '2', '后勤部', 'mj_houqinbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('8', '3', '咨询部', 'qc_zixubu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('9', '3', '宣传部', 'qc_xuanchangbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('10', '3', '后勤部', 'qc_houqinbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('11', '4', '研发部', 'kw_zixubu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('12', '4', '技术部', 'kw_xuanchangbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('13', '4', '后勤部', 'kw_houqinbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('14', '11', '高分之路', 'kw_yf_gaofenzhilu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('15', '11', '名校之路', 'kw_yf_mingxiaozhilu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('16', '0', '老大', 'laoda', null, null, null, null, null, null);
这是一张自关联的表:
id parent_id
1 0
2 1
3 1
......
方式采用一级一级查找的方式:
方法一:获取所有的根节点
方法二:根据主键id查找他所有的子节点
controller层:
[ { "id": 1, "text": "Folder1", "iconCls": "icon-save", "children": [ { "text": "File1", "checked": true }, { "text": "Books", "state": "open", "attributes": { "url": "/demo/book/abc", "price": 100 }, "children": [ { "text": "PhotoShop", "checked": true }, { "id": 8, "text": "Sub Bookds", "state": "closed" } ] } ] }, { "text": "Languages", "state": "closed", "children": [ { "text": "Java" }, { "text": "C#" } ] } ]数据库表结构:
INSERT INTO `basic_organ_buss` VALUES ('1', '0', '总部', 'zongbu', null, null, null, null, null, null);
INSERT INTO `basic_organ_buss` VALUES ('2', '1', '美加百利', 'meijiabaili', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('3', '1', '前程百利', 'qianchengbaili', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('4', '1', '可为百利', 'keweibaili', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('5', '2', '咨询部', 'mj_zixubu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('6', '2', '宣传部', 'mj_xuanchangbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('7', '2', '后勤部', 'mj_houqinbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('8', '3', '咨询部', 'qc_zixubu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('9', '3', '宣传部', 'qc_xuanchangbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('10', '3', '后勤部', 'qc_houqinbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('11', '4', '研发部', 'kw_zixubu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('12', '4', '技术部', 'kw_xuanchangbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('13', '4', '后勤部', 'kw_houqinbu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('14', '11', '高分之路', 'kw_yf_gaofenzhilu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('15', '11', '名校之路', 'kw_yf_mingxiaozhilu', null, null, null, null, null, '');
INSERT INTO `basic_organ_buss` VALUES ('16', '0', '老大', 'laoda', null, null, null, null, null, null);
这是一张自关联的表:
id parent_id
1 0
2 1
3 1
......
方式采用一级一级查找的方式:
方法一:获取所有的根节点
方法二:根据主键id查找他所有的子节点
/** * * getRoot 获取所有的根节点 * * @Description * @return List<OrganBuss> * @see */ public List<OrganBuss> getRoot(); /** * * getChildrensById 根据主键Id获取他的所有子节点 * * @Description * @param id * @return List<OrganBuss> * @see */ public List<OrganBuss> getChildrensById(Integer id);
controller层:
/** * * insertChilddrens 子节点调用本身子节点进行自我递归 * * @Description * @param childrens * @return List<Map<String,Object>> * @see */ public List<Map<String, Object>> insertChilddrens(List<OrganBuss> childrens) { List<Map<String, Object>> childs = new ArrayList<Map<String, Object>>(); for (OrganBuss children : childrens) { Map<String, Object> child = new HashMap<String, Object>(); child.put("id", children.getBussId()); child.put("text", children.getBussName()); //在里面放一个child child.put("children", insertChilddrens(organBussService.getChildrensById(children.getBussId()))); childs.add(child); } return childs; } @RequestMapping("/getTreeNode") @ResponseBody public Object getTreeNode() { List<Map<String, Object>> result = new ArrayList<Map<String, Object>>(); List<OrganBuss> root = organBussService.getRoot(); for (OrganBuss organBuss : root) { Map<String, Object> node = new HashMap<String, Object>(); node.put("id", organBuss.getBussId()); node.put("text", organBuss.getBussName()); //返回的是childs List<Map<String, Object>> childs = insertChilddrens(organBussService.getChildrensById(organBuss.getBussId())); node.put("children", childs); result.add(node); } return result; }
相关文章推荐
- EasyUI combobox 动态从服务端获取数据
- EasyUI_tree根据数据库数据非迭代生成树形结构
- echarts图表动态获取后台数据详解(二)
- 4.2、JS——var 数据类型 节点标签属性操作 动态获取方法
- PHP+MySQL+Easyui tree菜单从后台加载json数据(一)
- easyui tree datagrid动态添加表头和表格数据,动态弹出框,修改和删除按钮
- FusionCharts动态获取后台json数据 页面显示
- ThinkPHP定时ajax获取后台数据,使用javascript动态修改前端页面的表格来显示数据
- 下拉框动态获取数据库值:树形结构写法
- spring aop之动态生成jquery-easyui数据列表操作按钮
- Extjs学习------MVC结构的开发(从后台获取数据显示到Grid)
- B树(B-Tree)的由来、数据结构、基本操作以及数据库索引的应用
- mui h5 动态实现数据的移除和数据操作完后的重新获取
- 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期
- 动态事创建的a标签上利用jq滑过元素执行事件通过ajax获取后台数据根据鼠标位置展示数据内容,鼠标离开消失
- easyui combobox获取后台数据库数据的方式介绍
- Echarts 动态从后台获取数据进行图表的展示
- 利用js将ajax获取到的后台数据动态加载至网页中
- jQuery easyUI动态获取表结构并显示表中的数据)
- 关于easyui获取c#后台数据报错 Cannot read property 'length' of undefined的问题