private List <DropTreeModel> CreateChildrenTree(List <string> idPath, int level, List <CmsItem> items) { var list = new List <DropTreeModel>(); foreach (var item in items) { if (item.Id != idPath[level] || idPath.Count - 1 == level) { var node = new DropTreeModel { Title = item.Title, Key = item.Id, IsLazy = true, Icon = item.Icon, Selected = idPath[level] == item.Id }; list.Add(node); } else { var node = new DropTreeModel { Title = item.Title, Key = item.Id, IsLazy = false, Icon = item.Icon, Selected = false, Children = CreateChildrenTree(idPath, ++level, item.Children), Expanded = true }; list.Add(node); } } return(list); }
private List <DropTreeModel> CreateChildrenTree(string id, List <CmsItem> items) { var list = new List <DropTreeModel>(); if (items.Select(i => i.Id.ToString()).Contains(id)) { foreach (var item in items) { if (id == item.Id) { var node = new DropTreeModel { Title = item.Title, Key = item.Id, IsLazy = true, Icon = item.Icon, Selected = true }; list.Add(node); } else { var node = new DropTreeModel { Title = item.Title, Key = item.Id, IsLazy = true, Icon = item.Icon, Selected = false }; list.Add(node); } } } else { foreach (var item in items) { var node = new DropTreeModel { Title = item.Title, Key = item.Id, IsLazy = false, Icon = item.Icon, Selected = false, Children = CreateChildrenTree(id, item.Children), Expanded = true }; list.Add(node); } } return(list); }