关闭

easyui 中 的同步树(3)------用递归写

标签: easyui递归tree同步树
683人阅读 评论(0) 收藏 举报
分类:

以上两篇都只能显示有限的节点,如果想要在前台显示无限的节点,就需要用到递归了。这篇文章是基于上一篇的。

我的思路是:

  1. 先找出根节点

  2. 再递归根节点(递归结束的条件是:当此节点没有子节点时,结束递归)


1.数据库表设计和实体类和上一篇是一样的

2.看下DAO层和controller层
第一步:先取得根节点

    public List getAllTree() {
        String hql = "from TAcademy where pid=(select min(pid) from TAcademy)";
        Query query = sessionFactory.getCurrentSession().createQuery(hql);
        return query.list();
    }

第二步:遍历根节点

@RequestMapping("/__getAllTree")
    public String __getAllTree(HttpServletRequest request,HttpServletResponse response)throws Exception{
        List<TAcademy> tree = treeService.getAllTree();
        List<TAcademy> allTree = digui(tree);
        JSONArray jn = JSONArray.fromObject(allTree);
        response.setContentType("text/html;charset=utf-8");
        response.getWriter().println(jn.toString());
        return null;
    }


    //递归形成专业树
    public List digui(List<TAcademy> tree){
        for (TAcademy academy : tree){
            if(treeService.getAcademyByPid(academy.getId())!=null){
                List<TAcademy> _tree = treeService.getAcademyByPid(academy.getId());
                academy.setChildren(_tree);
                digui(_tree);
            }
        }
        return tree;
    }

注意:其实不应该把数据库表中id设置问auto,如果设置成auto,那么就会在插入节点的时候出现问题。所以就在数据库中再增加一个字段。

0
0
查看评论

EasyUI的treegrid 递归动态 填充数据

public JSONArray getDepTreeGrid()throws Exception{ List deps=Dao.GetParentIdTree(); JSONArray array=new JSONArray(); for...
  • qq_27435059
  • qq_27435059
  • 2016-09-10 20:00
  • 652

jQuery easyUI树形表格(TreeGrid)的实现

jQuery easyUI树形表格(TreeGrid)的简单实现网上只写了页面中实现的效果,数据固定,数据是json文件解决。下面我写了一个从后台模拟数据,在页面显示的效果demo,不足之处望指正!!!效果图如下:只截取了部分 页面HTML标签:<table id="tt"...
  • ygl19920119
  • ygl19920119
  • 2017-10-18 15:28
  • 354

easyui中最新版本的TreeGrid同步树形表格、同步加异步树形表格、树形表格分页且异步查看子节点

easyui中最新版本的TreeGrid同步树形表格、同步加异步树形表格、树形表格分页且异步查看子节点
  • u011097980
  • u011097980
  • 2017-01-13 17:16
  • 2345

easyUI,递归tree

var saveData = []; function Save(){ saveData = []; var order = 1; var code = 1; var parentCode = "0"; var level = 1; var roots = $('#...
  • eraier
  • eraier
  • 2015-11-03 16:06
  • 197

Easyui-ComboTree数据填充,递归。树形节点

效果图: Combotree需要的Json数据格式:http://www.jeasyui.com/demo/main/tree_data1.json 实现方法: /* 数据(TitleInfo) * 【 SystemCode:1, Name:总(副)经理,...
  • CommandBaby
  • CommandBaby
  • 2016-04-06 12:32
  • 2491

递归应用-遍历数据库表

【需求】 前台资源和后台资源都放在一张资源表中,但是我们需要只查询所有前台资源或者只查询所有后台资源? 【思维方式】 每个资源都有自己的ID,由于资源过多,所以资源用树形结构来管理,即平台--系统--模块--页面,相应的我们设计数据库时就会给每个资源加上一个PID,我们可以通过每个资源的ID查询它的...
  • u013036274
  • u013036274
  • 2016-01-29 15:32
  • 1096

easyui structs java环境下多级单元格合并及完美导出excel

  • 2013-11-22 17:40
  • 3KB
  • 下载

easyUI同步树的详解

easyUI同步树的详解
  • u012345283
  • u012345283
  • 2014-11-25 15:04
  • 3396

jeasyui的树递归

大家都知道,树, 有很多枝干,枝干下有很多分支,分支下又有很多分支.....循环往复,如果我们想得到一棵对下的所有分支信息, 我们要通过一般的循环显然是很难实现的,因为你不知道每一个分去下会有多少分支, 这是不定的, 但我们可以写程序,让程序自己去判断节点下是否还有节点.    ...
  • javaloverkehui
  • javaloverkehui
  • 2012-11-04 15:25
  • 5144

用DataTable 递归生成目录树!

static DataColumn column = new DataColumn();     static DataTable table = new DataTable();       static DataRow MyRow; ...
  • shan1774965666
  • shan1774965666
  • 2015-12-07 10:02
  • 1140
    个人资料
    • 访问:111713次
    • 积分:2666
    • 等级:
    • 排名:第16110名
    • 原创:146篇
    • 转载:53篇
    • 译文:1篇
    • 评论:21条
    博主
    博客专栏