/// <summary> /// 功能菜单树节点赋值 /// </summary> /// <param name="list"></param> /// <param name="tree"></param> /// <param name="expandFunctionType"></param> public static void FillData(List <SysFunction> list, UltraTree tree, string expandFunctionType) { UltraTreeNode node = null; TreeNodesCollection nodes = tree.Nodes; nodes.Clear(); //获取根节点(代表系统) List <SysFunction> sysFunctions = list.FindAll(f => string.IsNullOrEmpty(f.ParentId)); foreach (SysFunction sysFun in sysFunctions) { node = new UltraTreeNode(); node.Key = sysFun.FunctionId; node.Text = sysFun.FunctionName; node.Tag = sysFun; if (String.Compare(expandFunctionType, sysFun.FunctionType) > 0) { node.Expanded = true; } if (!String.IsNullOrEmpty(sysFun.Image)) { node.LeftImages.Add(Image.FromFile("./resource/image/mainMenu/" + sysFun.Image + ".png")); } nodes.Add(node); FillData(list, node, expandFunctionType); } }
/// <summary> /// 组织结构树节点赋值 /// </summary> /// <param name="list"></param> /// <param name="tree"></param> /// <param name="expandFunctionType"></param> public static void FillData(List <SysOrganization> list, TreeNodesCollection nodes, string expandOrgType, bool showIcon) { UltraTreeNode node = null; nodes.Clear(); //获取最高组织节点 List <SysOrganization> orgList = list.FindAll(o => string.IsNullOrEmpty(o.ParentId)); foreach (SysOrganization org in orgList) { node = new UltraTreeNode(); node.Key = org.OrganizationId; node.Text = GetOrgTreeNodeText(org); node.Tag = org; if (String.Compare(expandOrgType, org.OrganizationType) > 0) { node.Expanded = true; } if (showIcon) { node.LeftImages.Add(GetImage(org.OrganizationType)); } nodes.Add(node); FillData(list, node, expandOrgType, showIcon); } }
private static void ApplyAction(TreeNodesCollection nodes, ChangesAction action) { if (nodes == null || nodes.Count == 0) { return; } var columnSet = nodes.ColumnSetResolved; if (columnSet != null && !columnSet.Columns.Exists(UltraTreeExtender.OriginalStateColumnKey)) { return; } foreach (var node in nodes) { switch (action) { case ChangesAction.AcceptChanges: node.Cells[UltraTreeExtender.OriginalStateColumnKey].Value = node.CheckedState; break; case ChangesAction.RejectChanges: if (node.Cells[UltraTreeExtender.OriginalStateColumnKey].Value != null) { node.CheckedState = (CheckState)node.Cells[UltraTreeExtender.OriginalStateColumnKey].Value; } break; } ApplyAction(node.Nodes, action); } }
/// <summary> /// Método responsável por trocar os valores das checkboxes na grade de dados /// em forma de ávore. /// </summary> /// <param name="Nos">Lista contendo os nós da árvore</param> /// <param name="Valor">True para marcar a checkbox, false para desmarcar.</param> private void TrocaValorColunaSelecionar(TreeNodesCollection Nos, Boolean Valor) { if (Nos.Count > 0) { foreach (UltraTreeNode n in Nos) { n.Cells[(int)e_SkaColunas.Selecionar].Value = Valor; TrocaValorColunaSelecionar(n.Nodes, Valor); } } }
private void button3_Click(object sender, EventArgs e) { UltraTreeNode node = ultraTreeAuthor.ActiveNode; if (node != null) { TreeNodesCollection parentNodes = (node.Parent != null ? node.Parent.Nodes : ultraTreeAuthor.Nodes); node.Reposition(parentNodes, (node.Index + 1 < parentNodes.Count - 1 ? node.Index + 1 : parentNodes.Count - 1)); ultraTreeAuthor.ActiveNode = node; } }
/// <summary> /// Iterative function to check for all nodes in the tree which have been expanded /// </summary> /// <param name="expandedNodes"></param> /// <param name="childNodes"></param> /// <returns></returns> protected void GetExpandedNodes(List <UltraTreeNode> expandedNodes, TreeNodesCollection childNodes) { // Starting from the root item traverse down looking for nodes which are expanded foreach (UltraTreeNode thisNode in childNodes) { if (thisNode.Expanded) { expandedNodes.Add(thisNode); GetExpandedNodes(expandedNodes, thisNode.Nodes); } } }
public void AddNodesToTree(TreeNodesCollection Nodes, ItemContenedor ItemPadre) { foreach (ItemContenedor Item in Contenedor.GetItemsByItemParent(ItemPadre.ID)) { UltraTreeNode Node = new UltraTreeNode(Item.ID, Item.Nombre); Image Imagen = ilMain.Images[Item.Imagen]; Node.Tag = Item; if (Imagen != null) { Node.LeftImages.Add(Imagen); } ; Nodes.Add(Node); AddNodesToTree(Node.Nodes, Item); } }
private static void PopulateNodes(IList <ExplainPlanRow> rows, TreeNodesCollection nodes, IList <ExplainPlanColumn> explainPlanColumns) { foreach (var row in rows) { var node = nodes.Add(); foreach (var explainPlanColumn in explainPlanColumns) { var value = row.Row.IsNull(explainPlanColumn.ColumnName) ? null : row.Row[explainPlanColumn.ColumnName]; node.Cells[explainPlanColumn.ColumnDisplayName].Value = value; } foreach (var childRow in row.ChildRows) { PopulateNodes(new[] { childRow }, node.Nodes, explainPlanColumns); } } }
private void FillData(List <SysFunction> list, BipMainMenuTree tree) { UltraTreeNode node = null; TreeNodesCollection nodes = tree.Nodes; //获取根节点(代表系统) List <SysFunction> sysFunctions = list.FindAll(f => string.IsNullOrEmpty(f.ParentId)); foreach (SysFunction sysFun in sysFunctions) { node = new UltraTreeNode(); node.Key = sysFun.FunctionId; node.Text = sysFun.FunctionName; node.Tag = sysFun; node.LeftImages.Add(ResourceImg.home); nodes.Add(node); FillData(list, node); } }
/// <summary> /// 角色树节点赋值 /// </summary> /// <param name="list"></param> /// <param name="tree"></param> /// <param name="expandFunctionType"></param> public static void FillData(List <SysRole> list, UltraTree tree) { UltraTreeNode node = null; TreeNodesCollection nodes = tree.Nodes; nodes.Clear(); List <SysRole> roleList = list.FindAll(o => string.IsNullOrEmpty(o.ParentId)); foreach (SysRole role in roleList) { node = new UltraTreeNode(); node.Key = role.RoleId; node.Text = role.RoleName; node.Tag = role; nodes.Add(node); FillData(list, node); } }
private UltraTreeNode FindSpecialNode(TreeNodesCollection lstNodes, string[] arrNodesPath, int iLevel) { Logger.logBegin("FindSpecialNode"); if (arrNodesPath == null) { return(null); } if (arrNodesPath.Length < iLevel) { return(null); } try { string strCurrentCheckKey = arrNodesPath[iLevel]; for (int i = 0; i < lstNodes.Count; i++) { UltraTreeNode objCurrentNode = lstNodes[i]; Logger.Info("FindSpecialNode", string.Format("Trying to check node:[{0}], compare to :[{1}]", objCurrentNode.Text, strCurrentCheckKey)); if ((string.Compare(objCurrentNode.Text, strCurrentCheckKey, true) == 0) || /**Regular express support**/ MarsUFTAddins.IMars.tiger.ReflectorForCSharp.MarsTigerUtility.RegularExpressChecking(strCurrentCheckKey, objCurrentNode.Text)) { if (iLevel == arrNodesPath.Length - 1) { /** the last node to check **/ Logger.Info("FindSpecialNode", "find the leaf Node!"); return(objCurrentNode); } else { Logger.Info("FindSpecialNode", string.Format("Find branch nodes:[{0}], compare to :[{1}], nested to call FindSpecialNode", objCurrentNode.Text, strCurrentCheckKey)); return(FindSpecialNode(objCurrentNode.Nodes, arrNodesPath, iLevel + 1)); } } } Logger.Error("FindSpecialNode", string.Format("navigated all nodes information, but no such node [{1}] find in Level:[{0}]", iLevel, strCurrentCheckKey)); return(null); } finally { Logger.logEnd("FindSpecialNode"); } }
/// <summary> /// Método que percorre os nós da estrutura da árvore e busca as peças marcadas. /// </summary> /// <param name="Nos">Coleção com os nós de um nó pai (no caso, os filhos)</param> private void BuscaNosSelecionados(TreeNodesCollection Nos) { if (Nos.Count > 0) { foreach (UltraTreeNode n in Nos) { if ((bool)n.Cells[(int)e_SkaColunas.Selecionar].Value == true) { //Se tiver nós dentro do 'n', significa que ele é pai de alguém. if (n.HasNodes) { BuscaNosSelecionados(n.Nodes); } //Caso contrário, significa que é uma peça. else { mNosSelecionados.Add(n); } } } } }
private int findIndexOfNode(TreeNodesCollection coll_, string text_) { var ret = -1; if (coll_ == null) return ret; for (int i = 0; i < coll_.Count; ++i) { if (string.Compare(text_, coll_[i].Text, true) == 0) { ret = i; break; } } return ret; }
public TreeNodesCollectionUIAdapter(TreeNodesCollection treeNodesCollection) { Guard.ArgumentNotNull(treeNodesCollection, "treeNodesCollection"); this.m_TreeNodesCollection = treeNodesCollection; }
public void AddNodesToTree(TreeNodesCollection Nodes,ItemContenedor ItemPadre) { foreach (ItemContenedor Item in Contenedor.GetItemsByItemParent(ItemPadre.ID)){ UltraTreeNode Node = new UltraTreeNode(Item.ID, Item.Nombre); Image Imagen = ilMain.Images[Item.Imagen]; Node.Tag = Item; if (Imagen != null) { Node.LeftImages.Add(Imagen); }; Nodes.Add(Node); AddNodesToTree(Node.Nodes, Item); } }
private void AppendNodes(UltraTreeNode sourceNode, UltraTree targetTree) { UltraTreeNode tmp = sourceNode; if (sourceNode == null || targetTree.GetNodeByKey(tmp.Key) != null) { return; } TreeNodesCollection nodes = targetTree.Nodes; Stack <UltraTreeNode> stack = new Stack <UltraTreeNode>(); if (tmp.Parent == null) { stack.Push(UltraTreeHelper.SingleClone(tmp)); } else { bool flag = false; //如果选择的节点为界面,自动选择所有按钮 int index = 0; while (tmp != null) { UltraTreeNode newNode = UltraTreeHelper.SingleClone(tmp); if (index == 0 && (tmp.Tag as SysFunction).FunctionType.Equals("1014")) { foreach (UltraTreeNode n in tmp.Nodes) { newNode.Nodes.Add(UltraTreeHelper.SingleClone(n)); } } stack.Push(newNode); tmp = tmp.Parent; if (tmp != null && targetTree.GetNodeByKey(tmp.Key) != null) { flag = true; break; } index++; } if (flag) { nodes = targetTree.GetNodeByKey(tmp.Key).Nodes; } } UltraTreeNode node = null; while (stack.Count > 0) { node = stack.Pop(); nodes.Add(node); if (node.Parent != null && !(node.Parent.Tag as SysFunction).FunctionType.Equals("1014")) { node.Parent.Expanded = true; } nodes = node.Nodes; } if (node != null) { ultraTreeAuthor.ActiveNode = node; } }
/// <summary> /// Initializes a new <see cref="TreeNodesCollectionUIAdapter"/> /// </summary> /// <param name="nodes">Nodes collection represented by the ui adapter</param> public TreeNodesCollectionUIAdapter(TreeNodesCollection nodes) { Guard.ArgumentNotNull(nodes, "nodes"); this.nodes = nodes; }
private UltraTreeNode FindSpecialNode(TreeNodesCollection lstNodes, string[] arrNodesPath, int iLevel) { Logger.logBegin("FindSpecialNode"); if (arrNodesPath == null) return null; if (arrNodesPath.Length < iLevel) return null; try { string strCurrentCheckKey = arrNodesPath[iLevel]; for (int i = 0; i < lstNodes.Count; i++) { UltraTreeNode objCurrentNode = lstNodes[i]; Logger.Info("FindSpecialNode", string.Format("Trying to check node:[{0}], compare to :[{1}]", objCurrentNode.Text, strCurrentCheckKey)); if ((string.Compare(objCurrentNode.Text, strCurrentCheckKey, true) == 0) ||/**Regular express support**/MarsUFTAddins.IMars.tiger.ReflectorForCSharp.MarsTigerUtility.RegularExpressChecking(strCurrentCheckKey, objCurrentNode.Text)) { if (iLevel == arrNodesPath.Length - 1) { /** the last node to check **/ Logger.Info("FindSpecialNode", "find the leaf Node!"); return objCurrentNode; } else { Logger.Info("FindSpecialNode", string.Format("Find branch nodes:[{0}], compare to :[{1}], nested to call FindSpecialNode", objCurrentNode.Text, strCurrentCheckKey)); return FindSpecialNode(objCurrentNode.Nodes, arrNodesPath, iLevel + 1); } } } Logger.Error("FindSpecialNode", string.Format("navigated all nodes information, but no such node [{1}] find in Level:[{0}]", iLevel, strCurrentCheckKey)); return null; } finally { Logger.logEnd("FindSpecialNode"); } }