コード例 #1
0
        //--------------------------------------------------------------------------------------------
        private void InsertChild(Type typeItem)
        {
            TreeNode node = m_arbreFiltre.SelectedNode;

            if (node == null)
            {
                return;
            }
            CDHFiltreASousElements newItem = (CDHFiltreASousElements)Activator.CreateInstance(typeItem);

            TreeNode newChild = new TreeNode(node.Text);

            newChild.Tag = node.Tag;

            TreeNode newNode = CreateNode(newItem);

            if (node.Parent == null)
            {
                m_arbreFiltre.Nodes.Add(newNode);
            }
            else
            {
                node.Parent.Nodes.Add(newNode);
            }
            newNode.Nodes.Add(newChild);
            node.Remove();
        }
コード例 #2
0
        //--------------------------------------------
        private void CreateHierarchie(TreeNode node)
        {
            CDHFiltreASousElements itemLogique = node.Tag as CDHFiltreASousElements;

            if (itemLogique != null)
            {
                itemLogique.ClearSousElements();
                foreach (TreeNode child in node.Nodes)
                {
                    itemLogique.AddSousElement(child.Tag as IDHFiltre);
                    CreateHierarchie(child);
                }
            }
        }
コード例 #3
0
        //--------------------------------------------
        private TreeNode CreateNode(IDHFiltre filtre)
        {
            TreeNode node = new TreeNode(filtre.GetLibelle(m_table));

            node.Tag = filtre;
            CDHFiltreASousElements test = filtre as CDHFiltreASousElements;

            if (test != null)
            {
                foreach (IDHFiltre child in test.SousElements)
                {
                    TreeNode childNode = CreateNode(child);
                    node.Nodes.Add(childNode);
                }
            }
            return(node);
        }