Completed
Last Updated: 11 Apr 2016 07:44 by ADMIN
To reproduce:
Add a RadTreeView ,add nodes, enable TriState, disable AutoCheckChildNodes and use this code:
void cxTreeView2_NodeCheckedChanging(object sender, RadTreeViewCancelEventArgs e)
{
    if (!cxTreeView2.AutoCheckChildNodes && cxTreeView2.CheckBoxes && cxTreeView2.TriStateMode)
    {
        cxTreeView2.TreeViewElement.NodeCheckedChanging -= cxTreeView2_NodeCheckedChanging;
        if (e.Node.CheckState == ToggleState.Indeterminate)
        {
            e.Cancel = true;
            e.Node.CheckState = ToggleState.On;
            CheckAllChildren(e.Node);
        }

        cxTreeView2.TreeViewElement.NodeCheckedChanging += cxTreeView2_NodeCheckedChanging;
    }
}

void CheckAllChildren(RadTreeNode parent)
{
    foreach (var node in parent.Nodes)
    {
        node.CheckState = ToggleState.On;
        CheckAllChildren(node);
    }
}

Click a top node two times and remove the mouse from the checkbox, it is now showing as Indetermined but the data item is on.

Workaround:
void cxTreeView2_NodeCheckedChanging(object sender, RadTreeViewCancelEventArgs e)
{
    if (!cxTreeView2.AutoCheckChildNodes && cxTreeView2.CheckBoxes && cxTreeView2.TriStateMode)
    {
        cxTreeView2.TreeViewElement.NodeCheckedChanging -= cxTreeView2_NodeCheckedChanging;
        if (e.Node.CheckState == ToggleState.Indeterminate)
        {
            e.Cancel = true;
            e.Node.CheckState = ToggleState.On;
            CheckAllChildren(e.Node);

            cxTreeView2.TreeViewElement.Update(RadTreeViewElement.UpdateActions.Reset);

        }

        cxTreeView2.TreeViewElement.NodeCheckedChanging += cxTreeView2_NodeCheckedChanging;
    }
}

void CheckAllChildren(RadTreeNode parent)
{
    foreach (var node in parent.Nodes)
    {
        node.CheckState = ToggleState.On;
        CheckAllChildren(node);
    }
}
Completed
Last Updated: 20 Nov 2017 12:18 by ADMIN
To reproduce: - add a RadTreeView - enable multiselect - select at least 1 node - call radTreeView1.SelectedNodes.Clear() Workaround: Clear the nodes manually: foreach (var node in this.radTreeView1.SelectedNodes.ToList()) { node.Selected = false; }
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: 05 Jun 2014 07:07 by ADMIN
ADMIN
Created by: Peter
Comments: 0
Category: TreeView
Type: Bug Report
0
TreeViewDragDropService cannot be canceled on the following event:

radTreeView1.TreeViewElement.DragDropService.PreviewDragOver
Completed
Last Updated: 09 May 2013 10:18 by ADMIN
When a tree is bound using object-relational binding the editing does not work for nodes that are on level higher than the first.
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: 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: 15 Feb 2021 10:35 by ADMIN
Release R1 2021 SP2
If you have a node with a very long text that requires horizontal scrollbar and at the same time you have a many nodes which requires a vertical scrollbar in some border cases the long text of the node is cut off (with ellipsis).
Completed
Last Updated: 13 Feb 2014 13:20 by ADMIN
Workaround:
RadTreeView1.TreeViewElement.TreeNodeProvider.Reset()
Completed
Last Updated: 27 Mar 2013 02:44 by ADMIN
NullReferenceException in the UpdateLines method somehow triggered by the OnProcessMouseUp handler, when I'm trying to perform a drag and drop move in my treeview, that is fully managed by an inner model. The DnD events are bound and trigger delete + add actions in the tree.
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: 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: 18 Feb 2013 02:16 by ADMIN
FIX. RadTreeView - CreateNode event is not fired when adding a node from the New menu item in the context menu

Workaround: Use the NodeAdding/NodeAdded events.
Completed
Last Updated: 05 Jun 2014 07:07 by ADMIN
ADMIN
Created by: Peter
Comments: 0
Category: TreeView
Type: Bug Report
0
Unable to add a Node when RadTreeView is sorted - Please, refer to QSF->PivotGrid->Settings example and click twice on the Product filter to open the filter dialog.
Completed
Last Updated: 05 Jun 2014 07:08 by Svetlin
Adding or removing node through BindingList API collapse all nodes in self-referencing hierarchy in RadTreeView.
Completed
Last Updated: 05 Jun 2014 07:08 by Svetlin
NullReferenceException is thrown, when end edit performs in RadTreeView. To reproduce the issue:
1. Bind the grid to table
2. Add new record programmatically
3. Call BeginEdit of the added node
4. Edit the text of the node from the editor
5. Press ENTER
6. Exception is thrown.
Completed
Last Updated: 23 Jan 2013 05:13 by ADMIN
To reproduce:
- populate a tree with some nodes in different levels


- set the ShowLines to true
- select a node on the second level
- clear the nodes on a button click => exception is thrown

WORKAROUND:
radTreeView1.ShowLines = false; 
radTreeView1.Nodes.Clear(); 
radTreeView1.ShowLines = true;
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: 28 Dec 2012 07:39 by ADMIN
bind the tree and try to add a node to the control - error occurs