This is a migrated thread and some comments may be shown as answers.

RadTreeView Delete Child Nodes

3 Answers 331 Views
TreeView
This is a migrated thread and some comments may be shown as answers.
Mouse
Top achievements
Rank 1
Mouse asked on 17 Sep 2009, 11:50 AM
Hi,
 
I have a radtree which I want to delete nodes on the click of a context menu. Here is what my treeview looks like:

...item1     ----> on right click of this node i have a context menu with the option "Clear"
......item1.1
......item1.2
.........item1.2.1
...item2
...item3

Once the "Clear" option is pressed i would like the tree to delete all the nodes under "item1". Leaving the RadTree looking like the following:

...item1
...item2
...item3

How would i do this?
Thanks

3 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 17 Sep 2009, 12:50 PM
Hi,

Try the following client side code in order to achieve the functionality.

JavaScript:
 
 
<script type="text/javascript"
function onClientContextMenuItemClicking(sender, args) 
    var menuItem = args.get_menuItem(); 
    var treeNode = args.get_node(); 
    switch(menuItem.get_text()) 
    { 
        case "clear"
            var count = treeNode.get_nodes().get_count(); 
            for(var i =0 ; i< count; i++) 
            { 
                treeNode.get_nodes().remove(treeNode.get_nodes().getNode(0));                 
            }             
             
            break;     
        . . .                                    
    } 
</script> 

-Shinu.
0
Mouse
Top achievements
Rank 1
answered on 17 Sep 2009, 01:47 PM
Sorry I'm a bit of a novice and even more when it comes to JavaScript. Would i just put this into the head of the document?

Thanks
0
Mouse
Top achievements
Rank 1
answered on 17 Sep 2009, 03:36 PM
Thanks Shinu I managed to solve it server side. Here is how i did it.

protected void RadTreeView2_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e)
{
        RadTreeNode clickedNode = e.Node;

        case "Clear":
                int count = clickedNode.Nodes.Count;
                for (int i = 0; i < count; i++)
                {
                    clickedNode.Nodes.RemoveAt(0);
                }                
                break;
}

Thank you very much I have a feeling that your code on the client side might come in use one day.
Tags
TreeView
Asked by
Mouse
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Mouse
Top achievements
Rank 1
Share this question
or