Completed
Last Updated: 20 Feb 2012 04:01 by Svetlin
The context menu does not open at the right position when context menu button is used.
Completed
Last Updated: 24 Feb 2012 09:29 by ADMIN
1. Have some tree with nodes and subnodes. Expand some of the nodes one by one until vertical scrollbar appears.
At the same time, there should be more nodes which have subnodes left
2. Do "Expand all" on some other node which is not expanded yet. Code used: "node.ExpandAll()"
Scroll bar reflect the area change and you can scroll up and down, it's ok
3. Do "Collapse all" on same node. Code used: "node.Collapse()"
Completed
Last Updated: 21 Feb 2012 03:06 by Svetlin
Cut, Copy and Paste menu items in default context menu of RadTreeView are not localizable.
Unplanned
Last Updated: 30 Mar 2016 13:28 by Svetlin
The child nodes are aligned to the root nodes when ShowRootLines property is set to false.
Unplanned
Last Updated: 30 Mar 2016 13:29 by ADMIN
To reproduce:
Add a RadTreeView and a Timer(from the Windows.Forms namespace). Set the timer's interval to some short duration and add nodes to tree on its tick event. Scroll the thumb while the timer is ticking. At some point you will notice that the scrollbar's maximum value is not correct.

Workaround:
Do not add nodes while scrolling:
List<string> cachedValues = new List<string>();
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer() { Interval = 100 };

void radTreeView1_MouseCaptureChanged(object sender, EventArgs e)
{
    timer.Start();
}

void timer_Tick(object sender, EventArgs e)
{
    timer.Stop();
    if (this.cachedValues.Count > 0 && !radTreeView1.TreeViewElement.Scroller.Scrollbar.ThumbElement.Capture)
    {
        foreach (string value in this.cachedValues)
        {
            root.Nodes.Add(value);
        }

        cachedValues.Clear();
    }
}

private void timerUpdateNodes_Tick(object sender, EventArgs e)
{
    for (int i = 0; i < 10; ++i)
    {
        if (random.NextDouble() < .2)
        {
            if (radTreeView1.TreeViewElement.Scroller.Scrollbar.ThumbElement.Capture)
            {
                cachedValues.Add("Node");
            }
            else
            {
                root.Nodes.Add("Node");
            }
        }
    }
}
Completed
Last Updated: 02 Apr 2012 07:29 by Svetlin
Checked state of the disabled nodes's check boxes is changed after scrolling.
Completed
Last Updated: 30 Sep 2014 07:43 by Jesse Dyck
1. Create a new project with RadTreeView
2. Handle the NodeCheckedChanged event
3. Call the ExpandAll method for the checked node when handling this event
4. Run the project and check the first node
Completed
Last Updated: 05 Jun 2014 07:08 by ADMIN
1. Set the AllowArbitraryItemHeight property of a RadTreeView to true
2. Open the RadTreeView Property Builder for that RadTreeView
3. Add an item to the root
4. Click on the item
5. Click on advanced
6. Set the ItemHeight to a custom value (e.g. 40)
7. Click apply
8. Reopen the Property Builder - you will notice that the ItemHeight value is reset.
Completed
Last Updated: 05 Jun 2014 07:08 by ADMIN
ADMIN
Created by: Nikolay
Comments: 0
Category: TreeView
Type: Bug Report
1
RadTreeView should be able to bind to subproperties.
Completed
Last Updated: 05 Jun 2014 07:08 by ADMIN
When you set a new localization provider to RadTreeView, the strings of the nodes' context menu are not changed
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: 12 Sep 2011 11:23 by ADMIN
Buttons are not visible when using custom DPI settings in RadTreeView property builder.
Completed
Last Updated: 30 Dec 2010 04:51 by ADMIN
ADMIN
Created by: Stefan
Comments: 0
Category: TreeView
Type: Feature Request
1
Add some event i.e. NodeCheckedChanging in order to detect when a node check box is clicked. This state changing should be able to be canceled/
Completed
Last Updated: 06 Apr 2015 13:56 by ADMIN
ADMIN
Created by: Stefan
Comments: 0
Category: TreeView
Type: Feature Request
1
drag select nodes. I.e - Left click and drag to highlight / select a bunch of nodes in a treeview. 
Ticket ID: 319445
Completed
Last Updated: 28 Jul 2011 03:24 by ADMIN
FIX. RadTreeView - setting the AllowDragDrop property adds in the designer setting for the depricated AllowDragDropBetweenTreeViews property.
Completed
Last Updated: 12 Mar 2014 09:48 by ADMIN
To reproduce: 
Add a RadTreeView to a form and use the following code:
private List<EntityA> entities = new List<EntityA>(); public Form1() { InitializeComponent(); radTreeView1.TriStateMode = true; entities = new List<EntityA>(); for (int i = 0; i < 10; i++) { var newEntityI = new EntityA(i.ToString()); for (int j = 0; j < 100; j++) { var newEntityJ = new EntityB(j.ToString()); for (int k = 0; k < 1000; k++) { var newEntityK = new EntityC(k.ToString()); newEntityJ.Entities.Add(newEntityK); } newEntityI.Entities.Add(newEntityJ); } entities.Add(newEntityI); } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { foreach (var node in radTreeView1.Nodes) { node.Checked = checkBox1.Checked; } } private void radTreeView1_NodesNeeded(object sender, NodesNeededEventArgs e) { if (e.Parent == null) { foreach (var entity in entities) { e.Nodes.Add(new RadTreeNode(entity.Name, false) { CheckState = ToggleState.Off, Tag = entity }); } } else if (e.Parent.Tag is EntityA) { var currentEntity = e.Parent.Tag as EntityA; foreach (var entity in currentEntity.Entities) { e.Nodes.Add(new RadTreeNode(entity.Name, false) { CheckState = e.Parent.CheckState, Tag = entity }); } } else if (e.Parent.Tag is EntityB) { var currentEntity = e.Parent.Tag as EntityB; foreach (var entity in currentEntity.Entities) { e.Nodes.Add(new RadTreeNode(entity.Name, false) { CheckState = e.Parent.CheckState, Tag = entity }); } } else if (e.Parent.Tag is EntityC) { } } 
Put a breakpoint in the last If statement, you will notice that the breakpoint is being hit, while it is not if the TrieStateMode is set to false 

Workaround: 
Use the following custom RadTreeNode: 
public class MyTreeNode : RadTreeNode { private FieldInfo triStateField; public MyTreeNode() : base() { } public MyTreeNode(string text) : base(text) { } public MyTreeNode(string text, RadTreeNode[] children) : base(text, children) { } public MyTreeNode(string text, bool expanded) : base(text, expanded) { } public MyTreeNode(string text, Image image) : base(text, image) { } public MyTreeNode(string text, Image image, bool expanded) : base(text, image, expanded) { } public override ToggleState CheckState { get { return base.CheckState; } set { bool set = false; if (this.TreeViewElement != null && this.TreeViewElement.TriStateMode) { if (this.triStateField == null) { this.triStateField = typeof(RadTreeViewElement).GetField("triStateMode", BindingFlags.Instance | BindingFlags.NonPublic); } triStateField.SetValue(this.TreeViewElement, false); set = true; } base.CheckState = value; if (set) { this.triStateField.SetValue(this.TreeViewElement, true); } } } }

Completed
Last Updated: 05 Sep 2011 05:23 by Svetlin
Created by: Svetlin
Comments: 0
Category: TreeView
Type: Bug Report
1
There is no way to reset the style of node to its default one by using its Style property.
Completed
Last Updated: 20 Mar 2014 11:23 by ADMIN
To reproduce:
- Add a RadTreeView which have parent and child nodes to a form.
- Expand nodes until the both scrollbars are simultaneously shown.
- You will notice that you cannot scroll to the last item.

Workaround:
- Subscribe to the following ScrollerUpdated event handler:

void Scroller_ScrollerUpdated(object sender, EventArgs e)
{
radTreeView1.TreeViewElement.InvalidateMeasure();

}

- You can subscribe to this event with the following line of code:
radTreeView1.TreeViewElement.Scroller.ScrollerUpdated += Scroller_ScrollerUpdated;
Completed
Last Updated: 17 Oct 2013 03:34 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 0
Category: TreeView
Type: Bug Report
1
To reproduce:
Add a RadTreeView with some nodes and you will notice that the font is different than other controls.

Workaround:
void tree_NodeFormatting(object sender, TreeNodeFormattingEventArgs e)
{
    e.NodeElement.ContentElement.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
}
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);
    }
}