【.Net码农】Linq实现 树结构列表

原理有点像 推销人员的发展下级直属销售人员。 


        #region 树结构下拉类别

        public List<Entity> GetTreeList()
        {
            var list = GetList();
            var resultList = new List<Entity>();
            CreateTreeList(list, null, 0, ref resultList);

            return resultList;
        }

        private void CreateTreeList(List<Entity> categoryList, string parentId, int level, ref List<Entity> resultList)
        {
            var list = categoryList.Where(p => p.ParentId == parentId).ToList();
            if (list.Count() > 0)
            {
                level++;
                string space = "";
                for (var i = 0; i < level - 1; i++) space += " ";

                foreach (var item in list)
                {
                    item.Name = space + item.Name;
                    resultList.Add(item);
                    CreateTreeList(categoryList, item.F_Id, level, ref resultList);

                }
            }
        }

        #endregion






猜你喜欢

转载自blog.csdn.net/cracklibby/article/details/80088227
今日推荐