To reproduce: Add nodes to RadTreeView with at least 3 levels hierarchy. Set some of the last level nodes Visible property to false. Start the application. Expand some nodes and scroll. You will notice that the last item will change sometimes. Workaround: Set this.radTreeView1.TreeViewElement.AllowArbitraryItemHeight = true; Use ItemHeight = 1, instead of Visible = false
The Enabled property cannot be set in PropertyBuild if the RadTreeView is already data-binded via Property builder Workaround: Set the property at run-time.
To reproduce:
radTreeView1.Filter = "new";
radTreeView1.Nodes.Add("new Node");
for (int i = 0; i < 1000; i++)
{
radTreeView1.Nodes.Add(new RadTreeNode("test"));
}
Workaround:
radTreeView1.TreeViewElement.Update(RadTreeViewElement.UpdateActions.Reset);
We are experiencing a significant issue with the latest version of Telerik components for WinForms.
The RadTreeView control is affected.
The tree view is populated with nodes.
When nodes are expanded and then scrolled, the +/- indicators are no longer displayed correctly and the elements are also no longer displayed correctly. It even goes so far that no elements are displayed at all (only the root element always seems to remain).
It happens only on environments that we access by remote desktop connection. Never on the local environment till now.
In this particular case, the control is in Self-Referencing binding mode. When we perform drag-and-drop operations multiple times, the application enters an invalid state and hangs. Additionally, during drag-and-drop operations, moving several nodes can lead to collapsing and hiding the parent or other nodes randomly.
Repro-steps:
Observed behavior:
Expected behavior:
In this particular case, the control is populated with 100 000. When all items are selected and we click on a single note all other items will be de-selected. This operation takes more time than expected. The de-selection process must be improved.
Repro-steps:
Observed behavior:
Expected behavior:
Hi All,
I have made User control for custom node, in this user control i have used following controls
1 RadLabel (no of control - 3)
2 RadPanel (no of control -1)
3 PictureBox (no of Control - 4 )
4 TableLayoutPanel (no of control -3)
Means i have used total 11 controls within my user control.
Height of usercontrol = 146
Width of Usercontrol = 595
I have taken RadTreeView and above UserControl added as Node,following properties of treeview is set
this.radTreeView1.DataSource = Staff.GetStaff();
this.radTreeView1.ParentMember = "ParentID";
this.radTreeView1.ChildMember = "ID";
this.radTreeView1.DisplayMember = "Department";
this.radTreeView1.CreateNodeElement += this.OnCreateNodeElement;
this.radTreeView1.TreeViewElement.AutoSizeItems = true;
this.radTreeView1.ShowRootLines = false;
this.radTreeView1.FullRowSelect = false;
this.radTreeView1.ShowLines = true;
this.radTreeView1.LineStyle = TreeLineStyle.Solid;
this.radTreeView1.LineColor = Color.FromArgb(110, 153, 210);
this.radTreeView1.TreeIndent = 50;
this.radTreeView1.ExpandAll();
But when i run the code it shows like this means my control is not displaying and the property "AutoSizeItems" is not working.
hope for quick reply
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:
Workaround: add RadTreeNodes at run time.
When the CheckBox of a RadTreeNode is checked programmatically, the Unknown Action parameter needs to be passed to the NodeCheckedChanging/ed event.
To reproduce:
private void RadTreeView1_NodeCheckedChanging(object sender, Telerik.WinControls.UI.RadTreeViewCancelEventArgs e)
{
Console.WriteLine(e.Action);
}
The action is always unknown.
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
Add a possibility to set the auto-expand delay on drag-drop in RadTreeView.
Please run the attached sample project and follow the steps illustrated in the gif file. You will notice the following behavior:
If you select multiple items/nodes and then right click on the last selected item/node, the context menu comes up as expected and multiple selection is kept. But if you right click on any other item/node that is selected,the selected nodes become unselected and only the node you are over becomes selected.
The multiple selection is kept in Windows Explorer and VS Solution explorer wne you right click over an already selected node.
Workaround:
public RadForm1()
{
InitializeComponent();
this.radTreeView1.MultiSelect = true;
this.radTreeView1.AllowDefaultContextMenu = true;
}
class CustomTreeViewElement : RadTreeViewElement
{
protected override Type ThemeEffectiveType
{
get
{
return typeof(RadTreeViewElement);
}
}
protected override bool ProcessMouseDown(MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
RadContextMenu menu = this.ContextMenu;
RadTreeNode node = this.GetNodeAt(e.Location);
if (node!=null)
{
node.Selected = true;
}
if (node != null && node.ContextMenu != null)
{
menu = node.ContextMenu;
}
if (menu == null && this.AllowDefaultContextMenu)
{
menu = this.InitializeDefaultContextMenu(node);
}
if (menu != null)
{
RadControl parentControl = (this.ElementTree.Control as RadControl);
if (parentControl != null)
{
menu.ThemeName = parentControl.ThemeName;
menu.DropDown.RightToLeft = parentControl.RightToLeft;
}
TreeViewContextMenuOpeningEventArgs args = new TreeViewContextMenuOpeningEventArgs(node, menu, this);
OnContextMenuOpening(args);
if (!args.Cancel)
{
menu.Show(this.ElementTree.Control, e.Location);
return true;
};
}
}
return base.ProcessMouseDown(e);
}
}
class CustomTreeView : RadTreeView
{
protected override RadTreeViewElement CreateTreeViewElement()
{
return new CustomTreeViewElement();
}
public override string ThemeClassName
{
get
{
return typeof(RadTreeView).FullName;
}
}
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x7b:
return;
}
base.WndProc(ref m);
}
}