Repro-steps:
Observed behavior:
Expected behavior:
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
When the CheckBox of a RadTreeNode is checked programmatically, the Unknown Action parameter needs to be passed to the NodeCheckedChanging/ed event.
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:
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.