Exemple #1
0
    /// <summary>
    /// insert child node to one node(this).
    /// </summary>
    /// <param name="name">new child node name.</param>
    /// <param name="path"></param>
    /// <param name="newnode">can be null. no use I think.</param>
    /// <returns></returns>
    public virtual MultTreeNode InsertNode(string name, string path = "", MultTreeNode newnode = null)
    {
        MultTreeNode pntnode = this;

        if (newnode == null)
        {
            newnode = new MultTreeNode();
        }
        if (path.Length > 0)
        {
            pntnode = findNodeByPath(path);
        }
        if (pntnode == null)
        {
            return(null);
        }
        // check if has same node with same name.
        // can not insert two same name node under one parent node.
        // 2016-03-04 09:38:33
        if (pntnode.ExistChildNode(name))
        {
            return(pntnode);
        }
        newnode.setNodeName(name);
        newnode.parentNode = pntnode;
        pntnode.InsertChildNode(newnode);
        return(newnode);
    }
            /// <summary>
            /// TreeNodeData返回TreeNode
            /// </summary>
            /// <returns></returns>
            public MultTreeNode ToTreeNode()
            {
                #region  无用代码
                //TreeNode ToTreeNode = new TreeNode(this.Text, this.ImageIndex, this.SelectedImageIndex);
                #endregion

                MultTreeNode ToTreeNode = new MultTreeNode();
                #region  无用代码
                //  ToTreeNode.Checked = this.Checked;
                #endregion
                ToTreeNode.Obj      = this.Tag;
                ToTreeNode.SelfId   = this.Name;
                ToTreeNode.NodeName = this.Text;
                //ToTreeNode.setNodeName(this.Text);
                // ToTreeNode.setSelfId(this.Name);
                #region  无用代码
                #region  无用代码
                //ToTreeNode.setParent(this.Parent);
                //ToTreeNode.setParentNode(this.parentNodes);
                #endregion

                #region 无用代码
                //if (this.Expanded)
                //{
                //    ToTreeNode.Expand();
                //}
                #endregion
                #endregion

                if (this.Nodes == null && this.Nodes.Length == 0)
                {
                    return(null);
                }
                if (ToTreeNode != null && this.Nodes.Length == 0)
                {
                    return(ToTreeNode);
                }
                for (int i = 0; i <= this.Nodes.Length - 1; i++)
                {
                    #region 无用代码
                    // ToTreeNode.Nodes.Add(this.Nodes[i].ToTreeNode());
                    // ToTreeNode.getChildList().Add(this.Nodes[i].ToTreeNode());
                    #endregion
                    ToTreeNode.InsertChildNode(this.Nodes[i].ToTreeNode());
                }
                return(ToTreeNode);
            }