Completed
Last Updated: 09 Jun 2022 12:17 by ADMIN
Release R2 2022 SP1

Use the following code: 

        public RadForm1()
        {
            InitializeComponent();

                        // This XML contains a simple tree with a root node having 3 children, the first of which is intended to be Bold
            var xml = "<TreeView xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" MultiSelect=\"true\" AllowDragDrop=\"true\" LabelEdit=\"true\" AllowDrop=\"true\">  <Nodes Text=\"New Package\" Expanded=\"true\" ImageKey=\"Package\" Font=\"Microsoft Sans Serif, 8.25pt, style=Bold\">    <Tag xsi:type=\"xsd:string\">&lt;Info&gt;&lt;FullName&gt;\\New Package&lt;/FullName&gt;&lt;ObjectType&gt;Package&lt;/ObjectType&gt;&lt;IsRunnable&gt;False&lt;/IsRunnable&gt;&lt;IsContainer&gt;true&lt;/IsContainer&gt;&lt;/Info&gt;</Tag>    <Nodes Text=\"Query Engine\" ImageKey=\"QueryEngine\" Expanded=\"true\" Font=\"Microsoft Sans Serif, 8.25pt, style=Bold\">      <Tag xsi:type=\"xsd:string\">&lt;Info&gt;&lt;FullName&gt;\\Query Engine&lt;/FullName&gt;&lt;ObjectType&gt;QueryEngine&lt;/ObjectType&gt;&lt;IsRunnable&gt;true&lt;/IsRunnable&gt;&lt;IsTableEntity&gt;true&lt;/IsTableEntity&gt;&lt;IsCut&gt;false&lt;/IsCut&gt;&lt;/Info&gt;</Tag>    </Nodes>    <Nodes Text=\"Connector\" ImageKey=\"Irion.SQLServer\">      <Tag xsi:type=\"xsd:string\">&lt;Info&gt;&lt;FullName&gt;\\Connector&lt;/FullName&gt;&lt;ObjectType&gt;DBConnection&lt;/ObjectType&gt;&lt;IsCut&gt;false&lt;/IsCut&gt;&lt;/Info&gt;</Tag>    </Nodes>    <Nodes Text=\"Connector Link\" ImageKey=\"DatabaseDatalink\">      <Tag xsi:type=\"xsd:string\">&lt;Info&gt;&lt;FullName&gt;\\Connector Link&lt;/FullName&gt;&lt;ObjectType&gt;DatabaseDatalink&lt;/ObjectType&gt;&lt;IsRunnable&gt;true&lt;/IsRunnable&gt;&lt;IsTableEntity&gt;true&lt;/IsTableEntity&gt;&lt;IsCut&gt;false&lt;/IsCut&gt;&lt;/Info&gt;</Tag>    </Nodes>  </Nodes></TreeView>";

            this.radTreeView1.LoadXML(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(xml)));

            //make sure that the following 2 nodes are bold:
            this.radTreeView1.Nodes[0].Nodes[0].Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Bold, GraphicsUnit.Point, 0);
            this.radTreeView1.Nodes[0].Nodes[2].Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Bold, GraphicsUnit.Point, 0);

            var tvx = this.radTreeView1.TreeViewXml;
        }

The XML returned by the tvx variable is different in 6.0 and 4.7.2. The Font for the node is serialized in 4.7.2:

But the font is missing in 6.0:

 

Completed
Last Updated: 13 May 2013 11:40 by Jesse Dyck
The issue is valid for Windows 7 and Windows 8 based devices and related to accessibility objects support in our suite
Completed
Last Updated: 11 Feb 2014 13:50 by ADMIN
When I execute TreeView.SelectedNodes.Clear() during runtime, the SelctedNodeChanged event is not fired letting me know that the current selected node was changed to no selection. Should that qualify for a selection change event? Eessentially, the selected node has changed, but to no selection. The SelectedNodeChanging event does not fire as well.

What event will let me know that a selection has been removed (changed)?
Unplanned
Last Updated: 30 Mar 2016 13:32 by ADMIN
Workaround: 
private void radTreeView1_NodeFormatting(object sender, TreeNodeFormattingEventArgs e)
{
    e.NodeElement.ContentElement.TextAlignment = ContentAlignment.MiddleCenter;
}
Completed
Last Updated: 20 Oct 2014 12:04 by ADMIN
ADMIN
Created by: Plamen
Comments: 0
Category: TreeView
Type: Bug Report
5
Step to reproduce: radTreeView1.Nodes["Random Node"].Enabled = false;

WORKAROUND:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        radTreeView1.CreateNodeElement += radTreeView1_CreateNodeElement; 
        
    }

    void radTreeView1_CreateNodeElement(object sender, Telerik.WinControls.UI.CreateTreeNodeElementEventArgs e)
    {
        e.NodeElement = new MyTreeNodeElement();
    }
}

public class MyTreeNodeElement : TreeNodeElement
{
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(TreeNodeElement);
        }
    }

    protected override void InitializeFields()
    {
        base.InitializeFields();
        this.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
    }
}
Completed
Last Updated: 13 Feb 2014 13:18 by ADMIN
To reproduce: Add some nodes to a tree, and then clear them and move them to another tree. The inner nodes expand/collapse does not work correctly: void radButton1_Click(object sender, EventArgs e) { tree1.Nodes.Clear(); tree2.Nodes.AddRange(nodes); } RadTreeView tree1 = new RadTreeView(); RadTreeView tree2 = new RadTreeView(); List<RadTreeNode> nodes = new List<RadTreeNode>(); private void Populate(RadTreeView tree) { RadTreeNode n11 = new RadTreeNode("11"); RadTreeNode n12 = new RadTreeNode("12"); RadTreeNode n13 = new RadTreeNode("13"); RadTreeNode n14 = new RadTreeNode("14"); nodes.Add(n11); nodes.Add(n12); nodes.Add(n13); nodes.Add(n14); RadTreeNode n21 = new RadTreeNode("21"); RadTreeNode n22 = new RadTreeNode("22"); RadTreeNode n23 = new RadTreeNode("23"); RadTreeNode n24 = new RadTreeNode("24"); n11.Nodes.Add(n21); n11.Nodes.Add(n22); n11.Nodes.Add(n23); n11.Nodes.Add(n24); RadTreeNode n31 = new RadTreeNode("31"); RadTreeNode n32 = new RadTreeNode("32"); RadTreeNode n33 = new RadTreeNode("33"); RadTreeNode n34 = new RadTreeNode("34"); n21.Nodes.Add(n31); n21.Nodes.Add(n32); n21.Nodes.Add(n33); n21.Nodes.Add(n34); tree.Nodes.AddRange(nodes); } 1. Run 2. Expand all nodes in tree1 3. Select node 23 4. Press button move right 5. Click at "plus" at node 21. -> expand collapse does not work correctly Workaround - instead of calling the Clear method of the Nodes collection, remove them manually: while (tree1.Nodes.Count > 0) { tree1.Nodes.RemoveAt(0); }
Completed
Last Updated: 05 Jun 2014 07:07 by ADMIN
Steps to reproduce:

    public partial class Form3 : Form    {        private RadTreeView treeView = new RadTreeView();        private BindingSource bindingSource = new BindingSource();        private BindingSource bindingSource2 = new BindingSource();   
Completed
Last Updated: 13 Mar 2012 03:36 by ADMIN
FIX. RadTreeView - the text of disabled nodes is not aligned correctly
Unplanned
Last Updated: 21 Jun 2018 14:39 by ADMIN
Say you have a button which clears the old nodes and adds a number of new child nodes to the currently selected node. If the selected node is collapsed, the newly added nodes are not visible but the scrollbar updates as if they were.

Workaround the issue by using the BeginUpdate/EndUpdate methods of RadTreeView when updating the nodes:
radTreeView1.BeginUpdate();
    node.Nodes.Clear();
    foreach (RadTreeNode treeNode in nodes)
    {
        node.Nodes.Add((RadTreeNode)treeNode.Clone());
    }
    radTreeView1.EndUpdate();
Completed
Last Updated: 17 Apr 2012 07:28 by ADMIN
ADMIN
Created by: Julian Benkov
Comments: 0
Category: TreeView
Type: Bug Report
3
The problem may be reproduced in example application in TreeView/First Look 
The scenario is as follows:
-enter some text as a filter
-delete text - filter should be off
-add new node by context menu -> "New Node" appears twice in the tree view
Completed
Last Updated: 30 Jan 2020 09:34 by ADMIN
Release R3 2018
Please refer to the attached sample project. Run the application on a WIndows 10 machine. Switch on the Narrator and try to expand a node then the EnableRadAccessibilityObjects  property is set to true.

Workaround: set the EnableRadAccessibilityObjects property to false.
Completed
Last Updated: 15 Jul 2011 06:47 by ADMIN
Currently it is not possible to persist the Text property when using RadTreeView in bound mode.
The RadTreeNodeCollection.Add method returns wrong node.
Completed
Last Updated: 05 Jun 2014 07:07 by ADMIN
RadTreeView - DragOverNode event not contains property to determine the drop postion over target node

e.Direction is obsolete
Completed
Last Updated: 19 Jun 2014 12:54 by ADMIN
RadTreeView - Traverser throws exception if you clear and recreate all sub nodes of some node.  

Steps to reproduce:
1. Create RadTreeView with one node.
2. Add 100 sub nodes.
3. Clear the sub nodes.
4. Move scroll.

WorkAround:

    private void RefreshNodes()
    {
      
      radTreeView1.BeginUpdate();

      this.radTreeView1.TreeViewElement.Scroller.Traverser.Position = groupNode;
      this.radTreeView1.TreeViewElement.Scroller.Traverser.Reset();

      this.radTreeView1.SelectedNodes.Clear();
      groupNode.Nodes.Clear();
 
      AddNodes(groupNode.Nodes, 1, 100);

      groupNode.Expand();
      radTreeView1.EndUpdate();

      this.radTreeView1.TreeViewElement.Update(RadTreeViewElement.UpdateActions.Reset);
    }
Completed
Last Updated: 01 Jul 2019 14:49 by ADMIN
Release R3 2019 (LIB 2019.2.708)

Hi there 

I found this issue in RadTreeView filtering

I have a 2-level text structure programmatically created

after creation I use the command

radtree.ExpandAll()

This is the only event handled

   

Private Sub txtFilter_TextChanged(sender As Object, e As EventArgs) Handles txtFilter.TextChanged

        radtreeNavigazione.Filter = txtFilter.Text

End Sub

When I set a filter with at least 4 letters and then I select the text in the filter box and press "back", the app freezes with cpu working at 50 %. 

 

I use this workaround to solve

Private Sub txtFilter_TextChanged(sender As Object, e As EventArgs) Handles txtFilter.TextChanged

        radtreeNavigazione.Filter = txtFilter.Text

End Sub

 

I use this workaround

Private Sub txtFilter_TextChanged(sender As Object, e As EventArgs) Handles txtFilter.TextChanged

      radtree.CollapseAll()       

      radtreeNavigazione.Filter = txtFilter.Text

      radtree.ExpandAll()

End Sub

 

In this way it works, but I wanted to report the issue.

Thank you in advance for your attention

 

Declined
Last Updated: 19 Jan 2016 13:18 by ADMIN
An exception is thrown when changing the selection mode from Single to MultiSelect and then scrolling and selecting nodes.
Completed
Last Updated: 04 Apr 2012 03:53 by ADMIN
FIX. RadTreeView - SelectedNode and SelectedNodes should be cleared when the DataSource of the control is set to null
test app:
using System;
using System.Data;
using System.Windows.Forms;
using Telerik.WinControls.UI;
namespace Lab.Tree
{
public partial class TreeResetSelectionAfterDataSourceIsSetToNull : MainForm
{
private RadTreeView treeView = new RadTreeView();
public TreeResetSelectionAfterDataSourceIsSetToNull()
{
InitializeComponent();
treeView.Dock = DockStyle.Fill;
treeView.Parent = this;
treeView.BringToFront();
DataTable table = new DataTable();
table.Columns.Add("Id");
table.Columns.Add("Name");
table.Rows.Add("1", "name1");
table.Rows.Add("2", "name2");
table.Rows.Add("3", "name3");
treeView.DisplayMember = "Name";
treeView.DataSource = table;
treeView.MultiSelect = true;
}
protected override void OnButton1Click()
{
Console.WriteLine(treeView.SelectedNodes.Count);
Console.WriteLine(treeView.SelectedNode);
treeView.DataSource = null;
Console.WriteLine("-------------------------------------------");
Console.WriteLine(treeView.SelectedNodes.Count);
Console.WriteLine(treeView.SelectedNode);
}
}
}
Unplanned
Last Updated: 30 Mar 2016 13:33 by ADMIN
To reproduce:

Use the following code on an empty RadTreeView: 

this.TreeView.AddNodeByPath("General\\Billing\\February\\Report.txt");

You will see that the Report.txt node will be added to the Root node

Workaround:

Use the following method:

private RadTreeNodeCollection AddNode(string path)
{
    if (path == String.Empty)
        return this.TreeView.Nodes;


    string node = Path.GetFileName(path);
    RadTreeNodeCollection parent = AddNode(Path.GetDirectoryName(path));


    if (parent.Contains(node))
        return parent[node].Nodes;
    else
        return parent.Add(node).Nodes;
}

Completed
Last Updated: 28 Oct 2013 16:09 by Jesse Dyck
ADMIN
Created by: Georgi I. Georgiev
Comments: 1
Category: TreeView
Type: Bug Report
3
To reproduce: private void btnFill_Click(object sender, EventArgs e) { radTreeView.BeginUpdate(); radTreeView.Nodes.Add(new RadTreeNode("root 1")); radTreeView.Nodes.Add(new RadTreeNode("root 2")); radTreeView.Nodes.Add(new RadTreeNode("root 3")); radTreeView.Nodes.Add(new RadTreeNode("root 4")); radTreeView.Nodes[radTreeView.Nodes.Count - 1].Expand(); for (int i = 0; i < 30; i++) { radTreeView.Nodes[radTreeView.Nodes.Count - 1].Nodes.Add(new RadTreeNode("text" +i)); } radTreeView.EndUpdate(); } private void radButton1_Click(object sender, EventArgs e) { radTreeView.BeginUpdate(); foreach (var node in radTreeView.Nodes[radTreeView.Nodes.Count - 1].Nodes.ToArray()) { node.Remove(); } for (int i = 0; i < 99; i++) { radTreeView.Nodes[radTreeView.Nodes.Count - 1].Nodes.Add(new RadTreeNode("aasdasd")); } radTreeView.EndUpdate(); } Workaround - reset the traverser and update the scroll value prior removing the nodes radTreeView.TreeViewElement.Scroller.Traverser.Reset(); 

this.treeView.TreeViewElement.Scroller.UpdateScrollValue();
Completed
Last Updated: 11 Apr 2012 10:37 by ADMIN
ADMIN
Created by: Stefan
Comments: 0
Category: TreeView
Type: Bug Report
3
To reproduce:
  public Form1()
        {
            InitializeComponent();

            for (int i = 0; i < 10; i++)
            {
                RadTreeNode node = new RadTreeNode("Root node " + i);
                for (int j = 0; j < 10; j++)
         
1 2 3 4 5 6