Example #1
2
        /// <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);
            }
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
        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);
         }
     }
 }
Example #5
0
        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;
            }
        }
Example #6
0
 /// <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);
         }
     }
 }
Example #7
0
 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);
                }
            }
        }
Example #9
0
        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);
            }
        }
Example #10
0
        /// <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);
            }
        }
Example #11
0
 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;
    }
Example #14
0
 public TreeNodesCollectionUIAdapter(TreeNodesCollection treeNodesCollection)
 {
     Guard.ArgumentNotNull(treeNodesCollection, "treeNodesCollection");
     this.m_TreeNodesCollection = treeNodesCollection;
 }
Example #15
0
 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);
     }
 }
Example #16
0
        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;
            }
        }
Example #17
0
        /// <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");
     }
 }