Clearing a TreeView

BlitzPlus Forums/BlitzPlus Programming/Clearing a TreeView

mikkyx(Posted 2004) [#1]
What's the best way to clear out and rebuild a tree-view? I'm downloading the content for it from a website and the tree is built based on the content of the download.

I want the user to be able to click a button to refresh the treeview - but obviously I'll need to empty it first. How?

All help appreciated. :)


pantsonhead.com(Posted 2004) [#2]
FreeTreeViewNode(TreeViewRoot( treeview ))
This will flush it nice and quick, but I haven't checked if it deletes the Nodes or leaves them as orphans.


mikkyx(Posted 2004) [#3]
Thanks for that - but when I try to refill the list after calling FreeTreeViewNode I get "invalid node" - presumably because as far as it's concerned, the tree is a dead gadget now?


moravcik(Posted 2004) [#4]
If you want to refill the treeview, you'd need to assign another root node to it before you start adding new stuff.


mikkyx(Posted 2004) [#5]
Can you provide a sample piece of code for this?

I tried AddTreeViewNode "Some text",TreeViewRoot(tv_GameList) after calling FreeTreeViewNode, and it still complained.

It'd be much appreciated, thanks in advance!


moravcik(Posted 2004) [#6]
Strange. I get the same thing here too. When i delete the treeview root node, assign a new one, then try and add a new node, i get the "invalid node" error. Is this a bug? Of course, I could be missing something obvious.

What you might have to do, Mikkyx, is free the treeview gadget entirely, then create a new one, add the new root node to that, then build your treeview from there. Or you could store a list of all the nodes in your treeview (excluding the root node), and free them all using those. But you'd have to be careful about freeing a parent node, then trying to free one of its child nodes. This would throw up an error, IIRC.