The following code produces an error when the user attempts to edit the root node: DataTable dt = new DataTable(); DataColumn column = new DataColumn("ID", typeof(int)); column.AllowDBNull = false; column.AutoIncrement = true; dt.Columns.Add(column); dt.Columns.Add(new DataColumn("ParentID", typeof(int))); dt.Columns.Add(new DataColumn("Name", typeof(string))); dt.Columns.Add(new DataColumn("Note", typeof(string))); dt.Rows.Add(1, DBNull.Value, "Root", "Note1"); dt.Rows.Add(2, 1, "First", "Note1"); dt.Rows.Add(3, 1, "Second", "Note1"); dt.Rows.Add(4, 3, "Third", "Note1"); this.radTreeView1.DisplayMember = "Name"; this.radTreeView1.ParentMember = "ParentID"; this.radTreeView1.ChildMember = "ID"; this.radTreeView1.ValueMember = "ID"; this.radTreeView1.DataSource = dt; radTreeView1.TreeViewElement.EditMode = TreeNodeEditMode.Text; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Telerik.WinControls.UI; namespace Lab.Tree { public partial class TreeSelfreferenceEditRootNodeForm : Form { private RadTreeView treeView = new RadTreeView(); private BindingSource bindingSource = new BindingSource(); public TreeSelfreferenceEditRootNodeForm() { InitializeComponent(); treeView.Dock = DockStyle.Fill; treeView.Parent = this; treeView.AllowEdit = true; DataTable dt = new DataTable(); DataColumn column = new DataColumn("ID", typeof(int)); column.AllowDBNull = false; column.AutoIncrement = true; dt.Columns.Add(column); dt.Columns.Add(new DataColumn("ParentID", typeof(int))); dt.Columns.Add(new DataColumn("Name", typeof(string))); dt.Columns.Add(new DataColumn("Note", typeof(string))); dt.Rows.Add(1, DBNull.Value, "Root", "Note1"); dt.Rows.Add(2, 1, "First", "Note1"); dt.Rows.Add(3, 1, "Second", "Note1"); dt.Rows.Add(4, 3, "Third", "Note1"); bindingSource.DataSource = dt; treeView.DisplayMember = "Name"; treeView.ParentMember = "ParentID"; treeView.ChildMember = "ID"; treeView.ValueMember = "ID"; treeView.DataSource = bindingSource; treeView.TreeViewElement.EditMode = TreeNodeEditMode.Text; } } }
If user move on last node of the tree view and move the mouse downwards then "NodeMouseLeave" event does not get fired and if user move left side of the node then it's working fine.
If you perform radTreeView.Nodes.Clear method and then load new nodes by using the LoadXML method, the drag and drop behavior is corrupted.
The RadTreeView throws exception when the BindingSource.CancelEdit is invoked.
1. Create a new project and add empty RadTreeView when handling its Form.Load event. 2. Set its AutoSize property to true. 3. Run the project.
Currently, when a node is checked its parent/child nodes are checked accordingly and for each node that has its checked state changed the NodeCheckedChanged is fired. However, there is not way to know whether the event is fired because of manual user action on the node (clicking the checkbox, pressing Space/Enter keys) or because the node is in parent/child relation with the 'clicked' node. So, event arguments about that should be added.
The event is fired then drag and drop is performed in unbound mode but not when in bound mode
The SelectedNodes collection is not cleared, when the clear all nodes in single selection mode.
FIX. RadTreeView - updating a field in the DataBoundItem of a node is not automatically reflected
Please refer to the attached gif files illustrating the working and non working design time data binding.
To reproduce: void radTreeView1_EditorInitialized(object sender, TreeNodeEditorInitializedEventArgs e) { TreeViewTextBoxEditor editor = e.Editor as TreeViewTextBoxEditor; BaseTextBoxEditorElement element = (BaseTextBoxEditorElement)editor.EditorElement; element.TextChanging+=new TextChangingEventHandler(element_TextChanging); } void element_TextChanging(object sender, TextChangingEventArgs e) { e.Cancel = true; }
To reproduce: myTree.TreeViewElement.Comparer = new TreeSort(myTree.TreeViewElement); Work around: None
To reproduce: public Form1() { InitializeComponent(); DataTable table = new DataTable(); table.Columns.Add("ID"); table.Columns.Add("Name"); for (int i = 0; i < 10; i++) {
Vertical scroll bar is not shown if the expanded node's child nodes have been collapsed in NodeExpandChanged event previously. The code snippet bellow causes the issue: void radTreeView1_NodeExpandedChanged(object sender, RadTreeViewEventArgs e) { bool isExpanded = e.Node.Expanded; if (!isExpanded) { foreach (RadTreeNode node in e.Node.Nodes) { node.Expanded = false; } } }
1. Create a new project with RadTreeView. 2. Add 30 nodes in a cycle on Form.Shown event. 3. Use BeginUpdate/EndUpdate methods when adding every single node. 4. Set the SelectedNode property of RadTreeView every time.
When the RadTreeView is disabled, nodes text is rendered as bold text.
1. Place a RadTreeView in a form and add enough items to show scrollbars; 2. Show the form using ShowDialog() and close it 3. Open it again and note that there are no scrollbars in the RadTreeView
We upgraded to Telerik.WinControls 2012.2.726.20 I tried adding a RadTreeNode as follows RadTreeNode rtn1 = new RadTreeNode("C1"); rtn1.CheckType = CheckType.RadioButton; rtn1.CheckState = Telerik.WinControls.Enumerations.ToggleState.On; received an error when running.
To reproduce, use the following code. Once the app starts, expand nodes 1, 5,10, 15 and 19. Scroll to the very bottom and filter the tree: public partial class Form1 : RadForm { public Form1() { InitializeComponent();
The node find methods of RadTreeView should not perform over the inernal RootTreeNode.