Completed
Last Updated: 11 Oct 2023 10:11 by ADMIN
Release R3 2023

To reproduce:

1.Create new RadTreeView

2.Create new ImageList and populate

3.Assign ImageList to RadTreeView

4.Open Property Builder

5.Assign Image to a Node, Apply, Close

6.Re-Open, change Node to a different Image, the previous image remains

Expected: the new image is successfully updated.

Actual: the old image remains: 

Completed
Last Updated: 27 Apr 2023 06:55 by ADMIN
Release R2 2023 (LIB 2023.1.427)

When the CheckBox of a RadTreeNode is checked programmatically, the Unknown Action parameter needs to be passed to the NodeCheckedChanging/ed event.

 


Unplanned
Last Updated: 29 Mar 2023 11:33 by ADMIN

Use the following code snippet and compare the filtering performance when using bound and unbound mode:

         public RadForm1()
        {
            InitializeComponent(); 

            this.radTextBox1.TextChanged += this.RadTextBox1_TextChanged;
             this.radTextBox2.TextChanged += this.RadTextBox2_TextChanged;
            List<Data> list = new List<Data>();
            this.radTreeView1.BeginUpdate();
            for (int i = 0; i < 100000; i++)
            {
                list.Add(new Data()
                {
                    Id = i,
                    Name = "MyData_"+i,
                    ParentId = -1
                }) ;

                this.radTreeView1.Nodes.Add("MyData_"+i);
            }
            this.radTreeView1.EndUpdate();
            this.radTreeView2.DisplayMember = "Name";
            this.radTreeView2.ParentMember = "ParentId";
            this.radTreeView2.DataSource = list; 
        }

         private void RadTextBox2_TextChanged(object sender, EventArgs e)
         {
               this.radTreeView2.Filter = this.radTextBox2.Text;
         } 
        private void RadTextBox1_TextChanged(object sender, EventArgs e)
        {
            this.radTreeView1.Filter = this.radTextBox1.Text;
        }
    }

    public class Data
    {
        public int Id { get; set; }
        public string Name { get; set; } 
        public int ParentId { get; set; }
    }

Expected behavior: the performance in bound and unbound mode should be quite similar

Actual behavior: the performance is much slower in bound mode

Completed
Last Updated: 13 Mar 2024 08:49 by ADMIN
Release 2024.1.312

Repro-steps:

  1. Create a RadTreeView
  2. Set the TreeViewElement.ExpandTimerInterval to forever (so never auto expand by the timer).
  3. Enable drag/drop.
  4. Create an event handler for RadTreeView.DragEnding and make it cancel the drop operation.
  5. Fill the tree with random nodes and childnodes
  6. Drag and drop a node to collapsed node with children.

Observed behavior:

  1. The node is not dropped but the target node is expanded..

Expected behavior:

  1. The node is not dropped but the target node is NOT expanded, since the operation is cancelled.

 

Unplanned
Last Updated: 27 Feb 2024 13:19 by ADMIN

Repro-steps:

  1. Create a RadTreeView
  2. Set the TreeViewElement.ExpandTimerInterval to 5 seconds.
  3. Enable drag/drop.
  4. Fill the tree with random nodes and childnodes
  5. Drag a node over other nodes. Make sure you do not hover longer than 5 seconds over a single node. So just move around.

Observed behavior:

  1. After 5 seconds the node you are just hovering over, is expanding.

Expected behavior:

  1. No node will automatically expand. Every time a new node is hovered over, the timer will reset.


Unplanned
Last Updated: 30 Aug 2022 06:04 by Massimo

Steps to reproduce the issue:

1. Run the example app.
2. Click undo (the last item is removed).
3. Click redo (the last item should be added to the Treeview, it does not)
If I run the application and click undo twice and then redo twice, the things work. The Treeview is not updated if I add and remove the same element instance to the binding list.

Workaround: rebind the treeview after redo or create a new instance of the Element class with the same name and id.

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: 07 Jun 2022 13:47 by ADMIN
Release R2 2022 SP1

If the list separator for the culture is ";"

and you have nodes in RadTreeView that are bold, the following XML will be serialized:

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>";

However, if you try to load this layout on another machine where the list separator is "," the nodes wouldn't be bold:

Expected:

Actual:

Note: the problematic part is how the font is stored actually: "Microsoft Sans Serif; 8.25pt; style=Bold"

Workaround: if you change to this, it will be parsed properly: "Microsoft Sans Serif, 8.25pt, style=Bold"
Completed
Last Updated: 03 Jun 2022 08:38 by ADMIN
Release R2 2022 SP1
Created by: Humberto
Comments: 0
Category: TreeView
Type: Bug Report
1
When the RadTreeView.EnableRadAccessibilityObjects property is set to true and the Narrator is turned on, it doesn't read the expanded/collapsed state of the selected node. It would be good to have this functionality. 
Completed
Last Updated: 10 Dec 2021 16:18 by ADMIN
Release R1 2022 (LIB 2021.3.1213)

Please refer to the following code snippet: 

        Dim root As New RadTreeNode()
        root.Expanded = True
        root.Text = "Root"
        root.Name = "Root"
        Me.RadTreeView1.Nodes.Add(root)
        Dim telerikTreeNode = New RadTreeNode With
        {
            .Expanded = True,
            .Name = "Child1",
            .Text = "Child1",
            .Tag = "test",
            .Font = New Font("Arial", 12.0F, FontStyle.Regular)
        }

        Me.RadTreeView1.Nodes("Root").Nodes.Add(telerikTreeNode)
        For index = 2 To 5
            Dim child As New RadTreeNode()
            child.Text = "Child" & index
            Me.RadTreeView1.Nodes("Root").Nodes.Add(child)
        Next

Completed
Last Updated: 22 Mar 2022 13:50 by ADMIN
Release R2 2022 (LIB 2022.1.322)
Created by: Ken
Comments: 1
Category: TreeView
Type: Bug Report
0

Please use the attached sample project.

Result in 2021.1.326:

Result in 2021.2.511

Duplicated
Last Updated: 01 Nov 2021 05:40 by ADMIN
Created by: Stephan
Comments: 2
Category: TreeView
Type: Bug Report
0

1. Open Telerik Theme Viewer

2. Choose "Item Containers"

3. Observe "Tree"

4. Choose Theme "Office2019Dark"

Expected: Tree still shows content

Actual: Elements are not visible

Completed
Last Updated: 27 Aug 2021 10:27 by ADMIN
Release R3 2021

1. Start WinAppDriver.exe

2. Open the attached sample solution

3. Click "Run all" tests 

You will see that the test will not be able to locate any RadTreeNode elements located outside of the first parent node collection. Note that the test uses "FindElementByName("name")" method. 

Declined
Last Updated: 27 Aug 2021 09:40 by ADMIN

Please run the attached sample project and follow the steps in the attached gif file. You will notice that the nodes are displayed multiple times.

Workaround: it seems that if the BeginUpdate/EndUpdate methods are not used in the PerformNodeMove methods, the issue is not reproducible

Completed
Last Updated: 10 Jun 2021 12:57 by ADMIN
Release R2 2021 SP1

I am using RadTreeView and setting FullRowSelect = false. This works for Windows7 them but doesn't work for Fluent theme.

Completed
Last Updated: 10 Jun 2021 13:34 by ADMIN
Release R2 2021 SP1

Please refer to the attached sample project and try to edit a node. In random situations the Node argument in the Edited event is null or points to a wrong data node:

Completed
Last Updated: 15 Feb 2021 10:40 by ADMIN
Release R1 2021 SP2

Steps to reproduce:

1. Set SortOrder to Ascending

2. Rename a root node

 

Declined
Last Updated: 08 Feb 2021 10:08 by ADMIN

Code snippet for reproducing the problem:

 

    Private Sub RadForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.SongsTableAdapter.Fill(Me.MusicCollectionDataSet.Songs)
        Me.ArtistsTableAdapter.Fill(Me.MusicCollectionDataSet.Artists)
        Me.AlbumsTableAdapter.Fill(Me.MusicCollectionDataSet.Albums)

        AddHandler Me.RadTreeView1.NodeDataBound, AddressOf RadTreeView1_NodeDataBound

        Me.RadTreeView1.DataSource = Me.ArtistsBindingSource
        Me.RadTreeView1.DisplayMember = "ArtistName"
        Me.RadTreeView1.ValueMember = "ArtistID"
        Me.RadTreeView1.RelationBindings.Add(New RelationBinding(Me.AlbumsBindingSource, "AlbumName", "ArtistID", "ArtistID", "AlbumID"))
        Me.RadTreeView1.RelationBindings.Add(New RelationBinding(Me.SongsBindingSource, "SongName", "AlbumID", "AlbumID", "SongID"))
        Me.RadTreeView1.CheckBoxes = True
        Me.RadTreeView1.AutoCheckChildNodes = True
        Me.RadTreeView1.TriStateMode = True
        Me.RadTreeView1.ExpandAll()
    End Sub

    Private Sub RadTreeView1_NodeDataBound(sender As Object, e As RadTreeViewEventArgs)
        If e.Node.Level = 0 Then
            e.Node.CheckType = CheckType.None
        Else
            e.Node.CheckType = CheckType.CheckBox
        End If
    End Sub

Workaround: instead of using the NodeDataBound  event, use the NodeFormatting event to hide the checkboxes for the desired nodes:

    Private Sub RadTreeView1_NodeFormatting(sender As Object, e As TreeNodeFormattingEventArgs)
        If e.Node.Level = 0 Then
            e.NodeElement.ToggleElement.Visibility = Telerik.WinControls.ElementVisibility.Collapsed
        Else
            e.NodeElement.ToggleElement.Visibility = Telerik.WinControls.ElementVisibility.Visible
        End If
    End Sub

Completed
Last Updated: 15 Dec 2020 09:27 by ADMIN
Release R1 2021 (LIB 2020.3.1215)

Hi,

  on the Winform Demo application, go to the TreeView demos, and selection "Selection".
1) select the "Folders" item listed under the "Inbox" item.

2) Collapse the "Inbox" item by clicking the ARROW next to the "Inbox"

3) Hold down the SHIFT key and left-mouse click on the "Outbox" item, you end up with a selection all the way up the tree to the ROOT element

Completed
Last Updated: 23 Jul 2020 15:57 by ADMIN
Release R3 2020 (LIB 2020.2.727)
Hello,

I don't see the original mouse arguments on the RadTreeViewEventArgs of the NodeMouseClick Event?

Am I missing something?

How can I get the mouse button (left or right) on a nodeMouseClick event?
1 2 3 4 5 6