递归获取树形结构数据某个节点下的所有子节点数据

 

 

/// <summary>
        /// 获取组织结构树
        /// </summary>
        /// <param name="list"></param>
        /// <param name="id"></param>
        /// <param name="treeNodes"></param>
        /// <returns></returns>
        static void GetOrganizeSelectTreeNodes(List<BaseOrganizeEntity> list, string id, ref List<SelectTreeNode> treeNodes)
        {
            if (list == null)
                return ;
            List<BaseOrganizeEntity> sublist;
            if (!string.IsNullOrWhiteSpace(id))
            {
                sublist = list.Where(t => t.ParentId == id).ToList();
            }
            else
            {
                sublist = list.Where(t => string.IsNullOrWhiteSpace(t.ParentId)).ToList();
            }
            if (!sublist.Any())
                return;
            foreach (var item in sublist)
            {
                treeNodes.Add(new SelectTreeNode() { id = item.Id, name = item.FullName, parentId = item.ParentId });
                GetOrganizeSelectTreeNodes(list, item.Id, ref treeNodes);
            }
        }

 

posted @ 2019-01-23 11:18  波霸38  阅读(7594)  评论(0编辑  收藏  举报