public static bool CheckIsRoot(this ITreeItemWrapper self, ITreeItemWrapper obj) { if (obj == null) { return(false); } return(obj.ParentDataItemID == null); }
public static TypedTreeNodeItem <ITreeItemWrapper> GetTreeNodeItemByDataItem(this ITreeItemWrapper self, ITreeItemWrapper item, TypedTreeNodeItem <ITreeItemWrapper> pnode) { TypedTreeNodeItem <ITreeItemWrapper> node = new TypedTreeNodeItem <ITreeItemWrapper>(); node.Id = item.DataKeyId.ToString(); node.Name = item.Name; node.Code = item.Code; node.DataItem = item.ParentDataItemID; node.ParentNode = pnode; return(node); }
public static void AddSubItems(this ITreeItemWrapper self, TypedTreeNodeItem <ITreeItemWrapper> mnode, ITreeItemWrapper mainItem, List <ITreeItemWrapper> items) { List <ITreeItemWrapper> subItems = items.FindAll(p => self.CheckGetSubItems(p, mainItem)); foreach (ITreeItemWrapper subItem in subItems) { TypedTreeNodeItem <ITreeItemWrapper> subnode = self.GetTreeNodeItemByDataItem(subItem, mnode); self.AddSubItems(subnode, subItem, items); mnode.SubNodes.Add(subnode); } }
public static List <TypedTreeNodeItem <ITreeItemWrapper> > GetAllTreeItems(this ITreeItemWrapper self) { List <TypedTreeNodeItem <ITreeItemWrapper> > nodes = new List <TypedTreeNodeItem <ITreeItemWrapper> >(); List <ITreeItemWrapper> allItems = self.FindAllItems(); if (allItems == null || allItems.Count <= 0) { return(nodes); } List <ITreeItemWrapper> topItems = allItems.FindAll(p => (self.CheckIsRoot(p))); foreach (ITreeItemWrapper topItem in topItems) { TypedTreeNodeItem <ITreeItemWrapper> topnode = self.GetTreeNodeItemByDataItem(topItem, null); self.AddSubItems(topnode, topItem, allItems); nodes.Add(topnode); } return(nodes); }
public static bool CheckGetSubItems(this ITreeItemWrapper self, ITreeItemWrapper subitem, ITreeItemWrapper mainItem) { return((subitem.ParentDataItemID != null) && (subitem.ParentDataItemID.DataKeyId.ToString().Equals(mainItem.DataKeyId.ToString()))); }