예제 #1
0
        //Get selected items in DataGridView to store in the list
        private void get_Selected()
        {
            //Get the current ACF2 Object
            ACF2 user = active_ACF2.Find(
                delegate(ACF2 acf2)
            {
                return(acf2.ID == current_User);
            }
                );

            List <NodeItem> new_Selections = new List <NodeItem>();

            //Store the newly selected NodeItems into the selected ACF2 Object
            for (int i = 0; i < nodeList.RowCount; i++)
            {
                if (nodeList.Rows[i].Selected == true)
                {
                    new_Selections.Add(user.Nodes.Find(
                                           delegate(NodeItem node)
                    {
                        return(node.Node == (string)nodeList[0, i].Value);
                    }));
                }
            }

            active_ACF2.Find(
                delegate(ACF2 acf2)
            {
                return(acf2.ID == current_User);
            }).SelectedNodes = new List <NodeItem>(new_Selections);
        }
예제 #2
0
        //Display selected values in DataGridView
        private void set_Selected(String id)
        {
            ACF2 user = active_ACF2.Find(
                delegate(ACF2 acf2)
            {
                return(acf2.ID == id);
            });

            //This is done because when a form is generated, the first row is always selected. This will prevent that selection
            if (user.SelectedNodes.Count > 0)
            {
                nodeList.Rows[0].Selected = false;
            }

            foreach (NodeItem selection in user.SelectedNodes)
            {
                for (int i = 0; i < nodeList.RowCount; i++)
                {
                    if (selection.Node == (string)nodeList[0, i].Value)
                    {
                        nodeList.Rows[i].Selected = true;
                    }
                }
            }
        }
예제 #3
0
        //Saves the selection changes
        private void save_Selected_Click(object sender, EventArgs e)
        {
            get_Selected();
            ACF2 user = active_ACF2.Find(
                delegate(ACF2 acf2)
            {
                return(acf2.ID == current_User);
            });

            update_Tree(user);
        }
예제 #4
0
        //Update the tree after a selection change has been made for visual recognition
        public void update_Tree(ACF2 user)
        {
            bool            inactive = false;
            List <TreeNode> leaves   = new List <TreeNode>();

            foreach (NodeItem selected in user.SelectedNodes)
            {
                if (selected.Active == "0" || selected.Active == "")
                {
                    inactive = true;
                }
                leaves.Add(new TreeNode(selected.Node));
            }

            TreeNodeCollection collection = ACF2_Tree.Nodes;
            int index = 0;

            foreach (TreeNode node in collection)
            {
                String[] splits = node.Text.Split(' ');
                if (splits[0] == current_User)
                {
                    index = node.Index;
                }
            }

            ACF2_Tree.Nodes.RemoveAt(index);
            TreeNode node2 = new TreeNode(user.ID + " (" + user.Nodes.Count + ")", (TreeNode[])leaves.ToArray());

            //Alert the user that there could be a issue with the selections made on a specific ACF2
            if (inactive == true)
            {
                node2.BackColor = Color.Red;
            }

            ACF2_Tree.Nodes.Insert(index, node2);
        }
예제 #5
0
        //Update the tree after a selection change has been made for visual recognition
        public void update_Tree(ACF2 user)
        {
            bool inactive = false;
            List<TreeNode> leaves = new List<TreeNode>();
            foreach (NodeItem selected in user.SelectedNodes)
            {
                if (selected.Active == "0" || selected.Active == "")
                    inactive = true;
                leaves.Add(new TreeNode(selected.Node));
            }

            TreeNodeCollection collection = ACF2_Tree.Nodes;
            int index = 0;
            foreach (TreeNode node in collection)
            {
                String[] splits = node.Text.Split(' ');
                if (splits[0] == current_User)
                    index = node.Index;
            }

            ACF2_Tree.Nodes.RemoveAt(index);
            TreeNode node2 = new TreeNode(user.ID +" ("+user.Nodes.Count+")", (TreeNode[])leaves.ToArray());

            //Alert the user that there could be a issue with the selections made on a specific ACF2
            if (inactive == true)
                node2.BackColor = Color.Red;

            ACF2_Tree.Nodes.Insert(index,node2);
        }