public List <T_TreeSysListModel> Tree(int SysId, string Type = "id") { List <T_TreeSysListModel> result = new List <T_TreeSysListModel>(); T_TreeSysListModel data = new T_TreeSysListModel(); List <T_SysListModel> list = new List <T_SysListModel>(); list = dal.Filter(o => o.SysId == SysId).DTOList().ToList(); int rank = 1; var parent = list.Where(w => w.ParentId == null).OrderBy(b => b.Listorder).ToList(); foreach (var item in parent) { data = new T_TreeSysListModel(); data.Id = item.Id; data.text = item.Name; data.Remark = item.Remark; data.id = Type == "text" ? item.Name: item.Id.ToString(); data.Name = item.Name; data.Listorder = item.Listorder; data.Rank = rank; if (list.Count(w => w.ParentId == item.Id) > 0) { data.children = TreeChildren(list, item.Id, rank, Type); } result.Add(data); } return(result); }
public List <T_TreeSysListModel> TreeChildren(List <T_SysListModel> node, int parentId, int rank, string Type) { List <T_TreeSysListModel> newnode = new List <T_TreeSysListModel>(); var parent = node.Where(w => w.ParentId == parentId).OrderBy(b => b.Listorder).ToList(); if (parent.Count() > 0) { foreach (var item in parent) { T_TreeSysListModel data = new T_TreeSysListModel(); data.Id = item.Id; data.Name = item.Name; data.id = Type == "text" ? item.Name : item.Id.ToString(); data.text = item.Name; data.Remark = item.Remark; data.ParentId = item.ParentId; data.Listorder = item.Listorder; data.Rank = rank + 1; if (node.Count(w => w.ParentId == item.Id) > 0) { data.children = TreeChildren(node, item.Id, rank + 1, Type); } newnode.Add(data); } } return(newnode); }
public List <T_TreeSysListModel> TreeCombox(int SysId) { List <T_TreeSysListModel> result = new List <T_TreeSysListModel>(); T_TreeSysListModel data = new T_TreeSysListModel() { id = "", text = "", children = null, }; result.Add(data); List <T_TreeSysListModel> list = new List <T_TreeSysListModel>(); list = Tree(SysId); foreach (var item in list) { data = new T_TreeSysListModel(); data.id = item.id; data.text = item.Name; data.children = item.children; result.Add(data); } return(result); }