Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TreeNode.Remove doesn't work !

I have a strange problem. Let's look at that code:

TreeNode tn = TreeView1.FindNode("2009/08/12 (1)");     //OK, the Node is found

Now, I need to delete that node:

(IT DOESN'T WORK !)

(e.g. (I know that I don't need to use TreeView1.FindNode() method, but i = -1))

            TreeNode tn1 = TreeView1.FindNode(tn.ValuePath);
            int i = TreeView1.Nodes.IndexOf(tn1);

or

            TreeView1.Nodes.Remove(tn);

The problem is, the codes above doesn't work, I mean, the node isn't removed, why ? The TreeView looks like that:

alt text http://img130.imageshack.us/img130/230/71970321.png

like image 270
Tony Avatar asked Jul 28 '26 16:07

Tony


1 Answers

It seems that the TreeView control in .net only allows to remove First Level Nodes, so if the node you are trying to delete is not this kind of node, you need to delete it trough its parent, using something like this:

Dim Padre As TreeNode = TreeView1.SelectedNode.Parent
If (Padre Is Nothing) Then
    TreeView1.Nodes.Remove(TreeView1.SelectedNode)
Else
    Padre.ChildNodes.Remove(TreeView1.SelectedNode)
End If

Hope it helps!

like image 109
tomasofen Avatar answered Jul 30 '26 09:07

tomasofen



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!