FIX. RadTreeView SelectedNodeChanged is fired even when you click outside the node with disabled FullRowSelect
To reproduce: for (int i = 0; i < 10; i++) { RadTreeNode node = new RadTreeNode("Node " + i); radTreeView1.Nodes.Add(node); node.Style.GradientStyle = GradientStyles.Solid; node.Style.BackColor = System.Drawing.Color.LightCoral; } Workaround: use NodeFormatting
FIX. RadTreeView - exception while filtering a tree scrolled to the bottom end point
Add e.Action in SelectedNodeChanging similar to the one in the standard TreeView.BeforeSelect event which indicates what caused the event - mouse click, key pressed, or other
To reproduce: -add RadTreeView and RadButton: -use the following code: public partial class Form1 : Form { public Form1() { InitializeComponent(); List<Distributor> distributors = new List<Distributor>() { new Distributor(432,"Distributor 1"), new Distributor(454,"Distributor 2"), new Distributor(438,"Distributor 3"), new Distributor(455,"Distributor 4") }; List<Distributor> distributors2 = new List<Distributor>() { new Distributor(486,"Distributor 5"), new Distributor(487,"Distributor 6"), new Distributor(498,"Distributor 7"), new Distributor(475,"Distributor 8") }; List<Product> products = new List<Product>(); products.Add(new Product(567, "Bicycle", 5, distributors)); products.Add(new Product(456, "Car", 5000,distributors2)); products.Add(new Product(789, "Bike", 1500,null)); BindingList<Category> categories = new BindingList<Category>(); categories.Add(new Category("Bikes", products)); categories.Add(new Category("Accessories", null)); categories.Add(new Category("Clothing", null)); radTreeView1.DataSource = categories; if ((radTreeView1.DataSource as BindingList<Category>).Count > 0) { radTreeView1.DisplayMember = "Name\\Description\\Name"; radTreeView1.ChildMember = "Categories\\Products\\Distributors"; } } private void radButton1_Click(object sender, EventArgs e) { BindingList<Category> categories = radTreeView1.DataSource as BindingList<Category>; categories.Clear(); } } public class Distributor { private int _id; private string _name; public Distributor(int id, string name) { this._id = id; this._name = name; } public int Id { get { return this._id; } set { this._id = value; } } public string Name { get { return this._name; } set { this._name = value; } } } public class Product { private int _id; private string _description; private float _price; private List<Distributor> _distributors; public List<Distributor> Distributors { get { return this._distributors; } set { this._distributors = value; } } public int ID { get { return _id; } set { _id = value; } } public string Description { get { return _description; } set { _description = value; } } public float Price { get { return _price; } set { _price = value; } } public Product(int id, string description, float price, List<Distributor> distributors) { _id = id; _description = description; _price = price; _distributors = distributors; } } public class Category { public Category(string name, List<Product> products) { _name = name; _products = products; } private List<Product> _products; private string _name; public string Name { get { return _name; } set { _name = value; } } public List<Product> Products { get { return _products; } set { _products = value; } } } When you click the button, ArgumentOutOfRangeException is thrown. Workaround: instead of clearing the BindingList, remove each list item one by one: while (categories.Count>0) { categories.RemoveAt(0); }
To reproduce: this issue is reproducible under Windows8 OS only -add RadTreeView from the Toolbox to the Form and add several tree nodes at design time; -add RadContextMenu from the Toolbox and add several items at design time; Use the following code: public Form1() { InitializeComponent(); this.radTreeView1.RadContextMenu = this.radContextMenu1; } -run the application; -select a tree node; -right mouse click over the node to show the context menu; As a result the main form looses focus and you are unable to click anywhere outside the RadTreeView. This issue is inconstant and it is not appearing every time. Workaround: use ContextMenu property instead: public Form1() { InitializeComponent(); ContextMenu menu = new ContextMenu(); foreach (var item in radContextMenu1.Items) { menu.MenuItems.Add(new MenuItem(item.Text)); } this.radTreeView1.ContextMenu = menu; // this.radTreeView1.RadContextMenu = this.radContextMenu1; }
Improve the TreeViewDragDropService extensibility by allowing replacing the default remove behavior with copy behavior.
Allow setting the AutoExpand time of node when drag operation is performing.
I have implemented filtering in radtreeview by using following code in filter button click event: rtvTaxReturnLines.filter=textFilter.text; Note: here rtvTaxReturnLines is radtreeview name. It filter the result by text given by user in textbox.But after filtering if we want to drag and drop some filter results from the treeview to gridview or within the treeview then it is not allowing dragdrop service in filtered result.
It seems that when you try to collapse a node the application thread crashes. The exception seems to point pretty firmly at the Telerik control - when it is applying styles to a node?
I want (for some reason) make nodes in treeview checked in "one line" (i.e. in Nodes collection of any node - no more than one child could be checked). Also, latest (i.e. deepest) node should be selected. In attached example (see Example.zip): 1. Check node "Node 19" (as a result - nodes "Node 1", "Node 18" and "Node 19" checked and "Node 19" is selected). 2. Uncheck node "Node 1". Should be - nodes "Node 18" and "Node 19" checked and "Node 19" is selected. As a result - exception arised (see text of exception in Exception.zip). I suppose that it may be connected with "invisibility" of "Node 19" (I mean, if I make this actions with "Node 3" - it works fine).
Private Sub LoadTvObjectInApp() Dim objectInApps As IQueryable(Of ObjectInApp) objectInApps = _context.ObjectInApps.Where(Function(c) (c.ApplicatieCode = "zis") AndAlso Not (c.GroepNaam = "hulp" AndAlso c.IsSysteemObject = True))
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.
To reproduce: myTree.TreeViewElement.Comparer = new TreeSort(myTree.TreeViewElement); Work around: None
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.
I need to drop a simple plain text from a textbox into a Rad Treeview. I just read the forum, I'm mixing OLE Drag & Drop and RadTreeView Drag & Drop. The Events seems to be right and they seems to work fine. But I'm just having a problem with the Visual Indicators of the treeview: When I drag a regular node inside the treeview, I can see that visual indicators (the target node is highlighted, I can see a line of dots showing the direction above or below the target node, or the "forbidden" cursor, etc). And when I actually try to drag a simple text inside the treeview, I don't see any of those stuff. I need the same visual behavior when dropping a simple text. I need to see the indicators and I don't know how to activate them.
Event and Sort(IComparer) method.
I can type to select a node. For example, if I click to select the Car node, then type "V", selection jumps to the "Van" node. I can right-arrow to expand, then type "U" to select the "Useful" node. Resolution: Added two new properties: KeyboardSearchEnabled and KeyboardSearchResetInterval. When set the KeyboardSearchEnabled property to true, user can navigate to an item by typing when RadTreeView is focused. You can set how long the user must wait before searching with the keyboard is reset using the KeyboardSearchResetInterval property.
1. Create a new project with RadTreeView. 2. When handling Form.Load event add two root nodes and several child nodes. 3. Run the project and vertical scrollbar will be visible when it is not needed.
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.