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

[Solved] RadTreeView - Number of selected nodes.

1 Answer 469 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Raj
Top achievements
Rank 1
Raj asked on 20 Jun 2008, 09:47 AM
Hi im using RadTreeview.  I want to count the number of nodes selected in the treeview.Please tell me how to do this.

1)

Treeview1.SelectedNodes.Count == 1 (here trreview1 is id of the treeview)

2)

public int CountNodes()

{

int i;

int count = 0;

for (i = 0; i < Treeview1.Nodes.Count; i++)

{

if (Treeview1.Nodes[i].Selected == true)

{

count++;

}

}

return (count);

}

3) Also i have enabled checkboxes in treeview and had done this.

Treeview1.CheckedNodes.Count==0



But none of the above worked. Please tell me how to do this.

1 Answer, 1 is accepted

Sort by
0
Kevin Babcock
Top achievements
Rank 1
answered on 20 Jun 2008, 06:56 PM
Hi Raj,

By default, only one node can be selected in a RadTreeView control. You can enable multiple node selection by setting the RadTreeView.MultipleSelect property of the parent RadTreeView to true. Either way, when you select a node (not the checkbox next to the node, if checkboxes are enabled), you can access the list of selected nodes using the RadTreeView.SelectedNodes property.

If instead of selecting the node you are wanting to add checkboxes to each node and count how many are checked, you would first set the RadTreeView.CheckBoxes control to true and then use the RadTreeView.CheckedNodes property to access the list of checked nodes.

Take a look at the following code I wrote to demonstrate:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RadTreeView.aspx.cs" Inherits="RadTreeView" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml"
<head runat="server"
    <title>Untitled Page</title> 
</head> 
<body> 
    <form id="form1" runat="server"
        <asp:ScriptManager ID="ScriptManager1" runat="server" /> 
         
        <div> 
            <telerik:RadTreeView ID="RadTreeView1" runat="server"  
                CheckBoxes="true" 
                MultipleSelect="true" 
                OnNodeClick="RadTreeView1_NodeClick" 
                OnNodeCheck="RadTreeView1_NodeCheck"
                <Nodes> 
                    <telerik:RadTreeNode Text="1.0" Checkable="true"
                        <Nodes> 
                            <telerik:RadTreeNode Text="1.1" Checkable="true" /> 
                            <telerik:RadTreeNode Text="1.2" Checkable="true" /> 
                        </Nodes> 
                    </telerik:RadTreeNode> 
                    <telerik:RadTreeNode Text="2" Checkable="true"
                         <Nodes> 
                            <telerik:RadTreeNode Text="2.1" Checkable="true" /> 
                            <telerik:RadTreeNode Text="2.2" Checkable="true" /> 
                        </Nodes> 
                    </telerik:RadTreeNode> 
                    <telerik:RadTreeNode Text="3" Checkable="true" /> 
                </Nodes> 
            </telerik:RadTreeView> 
        </div> 
         
        <div> 
            Checked node count:  
            <asp:Literal ID="Literal1" runat="server" Text="0" /> 
        </div> 
         
        <div> 
            Selected node count:  
            <asp:Literal ID="Literal2" runat="server" Text="0" /> 
        </div> 
    </form> 
</body> 
</html> 
 

using System; 
 
public partial class RadTreeView : System.Web.UI.Page 
    protected void Page_Load(object sender, EventArgs e) { } 
 
    public void RadTreeView1_NodeClick(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e) 
    { 
        var radTreeView = sender as Telerik.Web.UI.RadTreeView; 
        if (radTreeView != null
        { 
            int nSelectedNodes = radTreeView.SelectedNodes.Count; 
            Literal2.Text = Convert.ToString(nSelectedNodes); 
        } 
    } 
 
    public void RadTreeView1_NodeCheck(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e) 
    { 
        var radTreeView = sender as Telerik.Web.UI.RadTreeView; 
        if (radTreeView != null
        { 
            int nCheckedNodes = radTreeView.CheckedNodes.Count; 
            Literal1.Text = Convert.ToString(nCheckedNodes); 
        } 
    } 
 

I hope this answers your question. Please let me know if I can be of further assistance.

Sincerely,
Kevin Babcock
Tags
General Discussions
Asked by
Raj
Top achievements
Rank 1
Answers by
Kevin Babcock
Top achievements
Rank 1
Share this question
or