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; }
时间: 2024-11-05 13:44:17