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: 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)?
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: 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); }
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: 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
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: 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: 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.
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: 18 Mar 2013 02:50 by Svetlin
The RadTreeView does not reset the SelectedNode when the nodes are cleared in unbound mode.
Completed
Last Updated: 22 Feb 2016 07:59 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();
    this.radTreeView1.LazyMode = true; 
    this.radTreeView1.NodesNeeded+=radTreeView1_NodesNeeded;
}

private void radTreeView1_NodesNeeded(object sender, Telerik.WinControls.UI.NodesNeededEventArgs e)
{
    
}

Workaround: set the AllowArbitraryItemHeight property to true.
Completed
Last Updated: 13 Oct 2010 08:20 by ADMIN
RadTreeView does not refresh iteself after adding a node on a second level.
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.
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();
Declined
Last Updated: 20 Feb 2014 10:02 by ADMIN
FIX. RadTreeView - when adding row in the underlying source, the nodes in the tree are collapsed, even when using DeferRefresh
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
1 2 3 4 5 6