.NET生成easyui的Tree的json格式

 1     public class Tree
 2     {
 3         public Tree()
 4         {
 5             children = new List<Tree>();
 6         }
 7         public string id { get; set; }
 8         public string text { get; set; }
 9         public string state { get; set; }
10         public List<Tree> children { get; set; }
11     }
        public static List<Tree> CreateTree(List<PermissionModel> permissionList)
        {
            List<Tree> rootNode = new List<Tree>
            {
                new Tree
                {
                    id = "UR030000000",
                    text = "权限列表"
                }
            };

            List<PermissionModel> parent = permissionList.FindAll(c => c.ParentId == "UR030000000");

            foreach (PermissionModel item in parent)
            {
                Tree node = new Tree
                {
                    id = item.Id,
                    text = item.PermissionName
                };
                node.children = CreateChilden(permissionList, node);
                if (node.children.Count > 0)
                {
                    node.state = "closed";
                }
                rootNode[0].children.Add(node);
            }

            return rootNode;
        }

        public static List<Tree> CreateChilden(List<PermissionModel> list, Tree tree)
        {
            List<Tree> nodeList = new List<Tree>();

            List<PermissionModel> childer = list.FindAll(c => c.ParentId == tree.id);
            foreach (PermissionModel item in childer)
            {
                Tree node = new Tree
                {
                    id = item.Id,
                    text = item.PermissionName
                };
                node.children = CreateChilden(list, node);
                if (node.children.Count > 0)
                {
                    node.state = "closed";
                }
                nodeList.Add(node);
            }

            return nodeList;
        }

 

posted on 2016-07-20 12:33  谁敢与我大战三百回合  阅读(327)  评论(0编辑  收藏  举报

导航