Пример #1
0
        public TreeObjectNodeSet GetSubLevelChildrenNodes(ITreeObjectNode parent)
        {
            TreeObjectNodeSet ret  = new TreeObjectNodeSet();
            TreeObjectNodeSet nset = this._find(parent.ID);

            foreach (_parentChild pc in nset)
            {
                ret.Add(this._findNode(pc.CID));
            }
            return(ret);
        }
Пример #2
0
        public TreeObjectNodeSet GetAllNodes(ITreeObjectNode parent)
        {
            TreeObjectNodeSet nSet = new TreeObjectNodeSet();

            nSet.Add(parent);

            foreach (ITreeObjectNode node in parent.GetSubLevelChildrenNodes())
            {
                nSet.AddRange(node.GetAllNodes());
            }

            return(nSet);
        }
Пример #3
0
        private TreeObjectNodeSet _find(string pid)
        {
            TreeObjectNodeSet cSet = new TreeObjectNodeSet();

            foreach (_parentChild pc in this._nodeSet)
            {
                if (pc.PID == pid)
                {
                    cSet.Add(pc);
                }
            }
            return(cSet);
        }
Пример #4
0
        public TreeObjectNodeSet GetChainFromRoot(ITreeObjectNode node)
        {
            TreeObjectNodeSet nset = new TreeObjectNodeSet();

            nset.Add(node);

            while (node.Parent != null)
            {
                nset.Insert(0, node.Parent);
                node = node.Parent;
            }

            return(nset);
        }