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

Unable to bind checked nodes in Radtreeview

6 Answers 251 Views
TreeView
This is a migrated thread and some comments may be shown as answers.
pavan
Top achievements
Rank 1
pavan asked on 08 Dec 2010, 04:35 PM

 

I have a RadGrid that uses a GridTemplate column along with two Gridbutton columns called Edit and Delete .When I click on Edit to edit a particular record,  all my textboxes and combo boxes get filled from the grid column as these fields are also visible as the grid columns.In Edit panel ,we have also one treeview with checkboxes, which should populate with some checkboxes as checked  depending on the dataset. Here our problem started.We are not able to set checkboxes as checked.While dubugging, I observed that it is making the nodes as checked depending on dataset data but still it is not showing in the page.  

protected

 

 

void radTreeview_Load(object sender, EventArgs e)

 

{

 

RadTreeView radSelectPartner;
try
{
  radSelectPartner = (
RadTreeView)sender;
  if (radSelectPartnerNodes.Count == 0)
{
    DataSet dtatable = (DataSet)Session["SelectPartner"];
    radSelectPartner.DataTextField =
"Partner Name";
    radSelectPartner.DataValueField =
"OrdID";
    radSelectPartner.DataFieldID =
"OrdID";
    radSelectPartner.DataFieldParentID =
"ParentID";
    radSelectPartner.DataSource = dtatable;
      if (ViewState["ContactEmail"] != null)
     {
     DataSet dsSelectParners = chkitems(ContactEmail);
     for (int count = 0; count < dsSelectParners.Tables[0].Rows.Count; count++)
     {
     if (dsSelectParners.Tables[0].Rows[count][0].ToString() != null)
         {
            foreach (RadTreeNode radNode in radSelectPartner.GetAllNodes())
              {
                radNode.Checkable =
true;
                 // for checking only child node.Currently RadTreeView depth is 2.
                 if (radNode.Level != 0 && radNode.Level != 1)
                      {
                         if (radNode.Value.ToString() == dsSelectParners.Tables[0].Rows[count][1].ToString())
                               {
                                radNode.Checked =
true;
                               }
                       }
                 }
             }
          }

 

6 Answers, 1 is accepted

Sort by
0
Accepted
Nikolay Tsenkov
Telerik team
answered on 14 Dec 2010, 04:09 PM
Hi pavan,

Here is example, that should show you, how to bind the TreeView correctly:
1. markup:
Copy Code
<telerik:RadTreeView runat="server" ID="RadTreeView1">
 
</telerik:RadTreeView>
2. Code-behind:
Copy Code
protected void Page_Load(object sender, EventArgs e)
{
    DataTable dataTable = new DataTable();
    dataTable.Columns.Add("Text");
    dataTable.Columns.Add("Id");
    dataTable.Columns.Add("ParentID");
    dataTable.Columns.Add("Checked");
 
    dataTable.Rows.Add(new String[] { "root node1", "1", null, "false" });
    dataTable.Rows.Add(new String[] { "root node2", "2", null, "false" });
    dataTable.Rows.Add(new String[] { "root node3", "3", null, "false" });
    dataTable.Rows.Add(new String[] { "root node4", "4", null, "false" });
    dataTable.Rows.Add(new String[] { "root node5", "5", null, "false" });
    dataTable.Rows.Add(new String[] { "root node6", "6", null, "false" });
    dataTable.Rows.Add(new String[] { "node11", "7", "1", "false" });
    dataTable.Rows.Add(new String[] { "node12", "8", "1", "true" });
    dataTable.Rows.Add(new String[] { "node13", "9", "1", "true" });
    dataTable.Rows.Add(new String[] { "node14", "10", "1", "false" });
    dataTable.Rows.Add(new String[] { "node15", "11", "1", "false" });
    dataTable.Rows.Add(new String[] { "node16", "12", "1", "false" });
    dataTable.Rows.Add(new String[] { "node111", "13", "7", "false" });
    dataTable.Rows.Add(new String[] { "node112", "14", "7", "false" });
    dataTable.Rows.Add(new String[] { "node123", "15", "7", "false" });
    RadTreeView1.DataSource = dataTable;
 
    RadTreeNodeBinding binding = new RadTreeNodeBinding();
    binding.CheckedField = "Checked";
    binding.Checkable = true;
 
    RadTreeView1.DataFieldID="Id";
    RadTreeView1.DataTextField="Text";
    RadTreeView1.DataFieldParentID = "ParentID";
 
    RadTreeView1.DataBindings.Add(binding);
    RadTreeView1.CheckBoxes = true;
    RadTreeView1.DataBind();
}
(I am simulating the dataSource here in order to run the example without having to worry about dependencies).

Please, use the provided example in order to bind your TreeView and let me know the results.


Regards,
Nikolay Tsenkov
the Telerik team
Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.
0
pavan
Top achievements
Rank 1
answered on 15 Dec 2010, 12:08 PM
Thanks for the reply...it works
0
ahmet
Top achievements
Rank 1
answered on 19 Mar 2015, 03:32 PM
Hi,
i want use this sample but i can't :/

my code like that
ASPX:
<telerik:RadTreeView ID="RadTreeViewDevices" runat="server" Width="300px" Height="320px" CheckBoxes="true" DataTextField="NAME" DataValueField="ID" DataFieldID="ID" DataFieldParentID="TCID"><br>                    <DataBindings>
                       <telerik:RadTreeNodeBinding Expanded="True" Checkable="true" CheckedField="Checked"></telerik:RadTreeNodeBinding>                   
</
DataBindings>               
</
telerik:RadTreeView>
C#:
 RadTreeViewDevices.DataSource = DeviceList.ToDataTable();
                RadTreeViewDevices.DataBind();

Data result like the attach file. But result => all treeviews checkboxes unchecked

I trying different shape but result is the same. What is my  fault?
Can anyone help me?

0
ahmet
Top achievements
Rank 1
answered on 20 Mar 2015, 08:39 AM
my fault is AJAX, now it works ty.
0
Dimitar
Telerik team
answered on 20 Mar 2015, 09:00 AM
Hello,

Thank you for the follow up. I am glad to know that you have managed to resolve the issue faced.

Regards,
Dimitar
Telerik
 

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

 
0
Brijkumar
Top achievements
Rank 1
answered on 19 Jan 2018, 07:45 AM
How To Get Checked Value of Node(Child, GrandChild)?
Tags
TreeView
Asked by
pavan
Top achievements
Rank 1
Answers by
Nikolay Tsenkov
Telerik team
pavan
Top achievements
Rank 1
ahmet
Top achievements
Rank 1
Dimitar
Telerik team
Brijkumar
Top achievements
Rank 1
Share this question
or