Treeview verwijderen

Status
Niet open voor verdere reacties.

ifstatement

Gebruiker
Lid geworden
16 apr 2012
Berichten
91
Hallo allemaal,

Ik wil tijdens het runnen van mijn programma een treeview kunnen verwijderen en opnieuw te genereren. Treeview.Nodes.Clear(); lijkt het niet te doen... Ik heb een functie waarin ik de treeview genereer. Als ik hem met Treeview.Nodes.Clear() probeer te verwijderen en opnieuw de treeview-genereer-functie aanroep, wordt er gewoon een Node aan de treeview toegevoegd.
Hoe kan ik hem nou definitief verwijderen?

Alvast bedankt!
 
Klopt, maar dat blijkt niet te werken... Daarom vroeg ik me af of er nog andere mogelijkheden zijn?
 
[cpp]treeView1.Nodes.Add("test");
treeView1.Nodes.Clear();[/cpp]

Voor mij werkt het wel... Wat is je code?

Je had het trouwens ook in de originele topic (zie vanschagen's link) kunnen plaatsen :)
 
Zou het misschien kunnen liggen aan het feit dat ik nodes in nodes heb?
Zo wordt mijn treeview gemaakt:

Code:
public void InitTreeview(TreeView Trvw ,string PrjctNaam, int AantalLS)
        {
            int a = 0;
            int b = 0;
            int LSnummer = 0;
            int AantalLSBereken = 0;

            TreeNode[] InvullingLS = new TreeNode[];
            TreeNode[] InvullingGegeven = new TreeNode[2];

            string[] InvullijstNamen = new string[7] { "Soort", "Aantal", "Berichten", "Gegevens", "Kleur", "Afmetingen", "Opmerkingen" };
            string[] GegevensInvul = new string[2] { "Naam", "Nummer" };

            TreeNode Projectnaam = new TreeNode(PrjctNaam);
            TreeNode[] NodesLS= new TreeNode[AantalLS];
            Trvw.Nodes.Add(Projectnaam);

            while (AantalLSBereken < AantalLS)
            {
                a = 0;
                b = 0;
                LSnummer = AantalLSBereken + 1;
                NodesLS[AantalLSBereken] = new TreeNode(LSnummer.ToString() + "/" + AantalLS.ToString());
                Projectnaam.Nodes.Add(NodesLS[AantalLSBereken]);
                while (a < InvullijstNamen.Length)
                {
                    NodesLS[AantalLSBereken].Nodes.Add(InvullingLS[a] = new TreeNode(InvullijstNamen[a]));
                    a++;
                }
                while (b < GegevensInvul.Length)
                {
                    NodesLS[AantalLSBereken].Nodes[3].Nodes.Add(InvullingGegeven[b] = new TreeNode(GegevensInvul[b]));
                    b++;
                }
                AantalLSBereken++;
                a = 0;
                b = 0;

                Trvw.HideSelection = false;
            }

            AantalLSBereken = AantalLS - 1;
            Trvw.Nodes[0].Nodes[0].Nodes[0].BackColor = SystemColors.Highlight;
            Trvw.ExpandAll();

En dan om hem te verwijderen:

Code:
public void DeleteTreeview(TreeView Trvw)
       {
           Trvw.Nodes.Clear();
       }
 
Dan doe je iets verkeerd; die code werkt bij mij goed.

Met als opmerking dat:

[CPP]TreeNode[] InvullingLS = new TreeNode[];[/CPP]

moet zijn:

[CPP]TreeNode[] InvullingLS = new TreeNode[AantalLS];[/CPP]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan