首页 > 其他 > 详细

关于easy- ui - tree的前篇 (1):

时间:2016-03-04 22:41:57      阅读:242      评论:0      收藏:0      [点我收藏+]

递归就是: 一条线执行到底 (父级的id在内存中开出的栈是不一样的,具有不同的地址还有不同的值) , 到底了以后
呢 又会返回到 有会执行foreach 去遍历 集合 然后找不到父集的id等于上一级的id的然后就会退出这一层了
去执行上面的一层的foreach 这一层 而且是继续执行下去的 依次类推
直到所有的都给执行完 

这里有一个就是:1.函数的执行时从里到外的  2. 然后父级的id在内存中开出的栈是不一样的这样的id是不重复的 (障眼法)

                        

 public static void LoadTreeNode(List<Ou_Permission> listPer, List<TreeNode> listNodes, int pid)
        {                                                                  //第二级的集合       还有第一级的id

            foreach (var permission in listPer)
            {
                //如果权限父id=参数
                if (permission.pParent == pid)
                {
                    //将 权限转成 树节点                                              ///////中间 都是一行一行遍历的
                    TreeNode node = permission.ToNode();
                    //将节点 加入到 树节点集合
                    listNodes.Add(node);
                    //递归 为这个新创建的 树节点找 子节点
                    LoadTreeNode(listPer, node.children, node.id);   //node.children 是空的
                    //第二级的集合   还有第一级的id
上面的LoadTreeeNode()方法被执行完了以后就退出了 退到这里(这里是上一个foreach循环的)以后然后呢就退出了if循环了呗 然后继续执行foreach的函数了呗(这个时候foreach还没有执行完)然后就继续执行了 } } }

  

关于easy- ui - tree的前篇 (1):

原文:http://www.cnblogs.com/canlan/p/5243610.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!