/// <summary> /// 获取流程系统数据项树节点 /// </summary> /// <returns></returns> protected TreeNode GetInstanceDataTreeNode() { KeyWordNode KeyWordNode = OThinker.H3.Instance.Keywords.ParserFactory.GetDataTreeNode(); TreeNode systemNode = new TreeNode(KeyWordNode.Text, KeyWordNode.Text); CopyTreeNode(KeyWordNode, systemNode); return(systemNode); }
/// <summary> /// 从KeyWordNode拷贝到TreeNode /// </summary> /// <param name="fromParentNode"></param> /// <param name="toParentNode"></param> private void CopyTreeNode(KeyWordNode fromParentNode, TreeNode toParentNode) { if (toParentNode != null && fromParentNode != null) { if (fromParentNode.ChildNodes.Count == 0) { //toParentNode.ChildNodes.Add(new TreeNode(fromParentNode.Text, fromParentNode.Text)); } else { foreach (KeyWordNode fromChild in fromParentNode.ChildNodes) { TreeNode toChild = new TreeNode(fromChild.Text, fromChild.Text); toParentNode.ChildNodes.Add(toChild); CopyTreeNode(fromChild, toChild); } } } }
/// <summary> /// 获取流程系统数据项树节点 /// </summary> /// <returns></returns> protected List <FormulaTreeNode> GetSystemDataItemNode(string ParentNodeID) { List <FormulaTreeNode> listNodes = new List <FormulaTreeNode>(); KeyWordNode KeyWordNode = OThinker.H3.Instance.Keywords.ParserFactory.GetDataTreeNode(); var FomulaRootID = Guid.NewGuid().ToString(); FormulaTreeNode FormulaNode = new FormulaTreeNode() { ObjectID = FomulaRootID, Text = KeyWordNode.Text, Value = KeyWordNode.Text, IsLeaf = false, ParentID = ParentNodeID, Icon = this.PortalRoot + "/WFRes/_Content/designer/image/formula/folder_16.png" }; listNodes.Add(FormulaNode); listNodes.AddRange(CopyTreeNode(KeyWordNode, FomulaRootID)); return(listNodes); }
/// <summary> /// 从KeyWordNode拷贝到TreeNode /// </summary> /// <param name="fromParentNode"></param> /// <param name="toParentNode"></param> List <FormulaTreeNode> CopyTreeNode(KeyWordNode fromParentNode, string ParentNodeID) { List <FormulaTreeNode> listNodes = new List <FormulaTreeNode>(); if (fromParentNode != null) { if (fromParentNode.ChildNodes.Count == 0) { //toParentNode.ChildNodes.Add(new TreeNode(fromParentNode.Text, fromParentNode.Text)); } else { foreach (KeyWordNode fromChild in fromParentNode.ChildNodes) { var NodeObjectID = Guid.NewGuid().ToString(); FormulaTreeNode FormulaNode = new FormulaTreeNode() { ObjectID = NodeObjectID, Text = fromChild.Text, Value = fromChild.Text, ParentID = ParentNodeID, FormulaType = FormulaType.FlowSystemVariables.ToString(), IsLeaf = (fromChild.ChildNodes.Count == 0) }; listNodes.Add(FormulaNode); if (fromChild.ChildNodes.Count > 0) { FormulaNode.Icon = this.PortalRoot + "/WFRes/_Content/designer/image/formula/folder_16.png"; listNodes.AddRange(CopyTreeNode(fromChild, NodeObjectID)); } //toParentNode.ChildNodes.Add(toChild); } } } return(listNodes); }