protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs args) { base.OnCollectionChanged(args); if (this.owner != null) { RadTreeViewElement treeViewElement = this.owner.TreeViewElement; if (treeViewElement != null) { if (args.Action == NotifyCollectionChangedAction.Add) { RadTreeNode node = (RadTreeNode)args.NewItems[0]; treeViewElement.Update(RadTreeViewElement.UpdateActions.ItemAdded, node); treeViewElement.OnNodeAdded(new RadTreeViewEventArgs(node)); } else if (args.Action == NotifyCollectionChangedAction.Remove) { RadTreeNode node = (RadTreeNode)args.NewItems[0]; treeViewElement.Update(RadTreeViewElement.UpdateActions.ItemRemoved, node); treeViewElement.OnNodeRemoved(new RadTreeViewEventArgs(node)); } else if (args.Action == NotifyCollectionChangedAction.Move) { RadTreeNode node = (RadTreeNode)args.NewItems[0]; treeViewElement.Update(RadTreeViewElement.UpdateActions.ItemMoved, node); } else if (args.Action == NotifyCollectionChangedAction.Reset) { treeViewElement.Update(RadTreeViewElement.UpdateActions.Reset); } } } }
internal void ProcessSelectedNode(RadTreeNode radTreeNode) { if (radTreeNode.Selected) { this.Items.Add(radTreeNode); } else { this.Items.Remove(radTreeNode); } treeView.Update(Telerik.WinControls.UI.RadTreeViewElement.UpdateActions.StateChanged, radTreeNode); }
protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs args) { base.OnCollectionChanged(args); if (this.Suspended || this.owner == null) return; RadTreeViewElement treeViewElement = this.owner.TreeViewElement; if (treeViewElement == null) return; if (!treeViewElement.IsSuspended) { this.owner.InvalidateOnState(); this.owner.UpdateParentCheckState(); } if (args.Action == NotifyCollectionChangedAction.Add) { RadTreeNode newItem = (RadTreeNode) args.NewItems[0]; treeViewElement.Update(RadTreeViewElement.UpdateActions.ItemAdded, newItem); treeViewElement.OnNodeAdded(new RadTreeViewEventArgs(newItem)); } else if (args.Action == NotifyCollectionChangedAction.Remove) { RadTreeNode newItem = (RadTreeNode) args.NewItems[0]; treeViewElement.Update(RadTreeViewElement.UpdateActions.ItemRemoved, newItem); treeViewElement.OnNodeRemoved(new RadTreeViewEventArgs(newItem)); } else if (args.Action == NotifyCollectionChangedAction.Move) { RadTreeNode newItem = (RadTreeNode) args.NewItems[0]; treeViewElement.Update(RadTreeViewElement.UpdateActions.ItemMoved, newItem); } else { if (args.Action != NotifyCollectionChangedAction.Reset) return; RadTreeViewElement.UpdateActions updateAction = this.owner is RadTreeViewElement.RootTreeNode ? RadTreeViewElement.UpdateActions.Reset : RadTreeViewElement.UpdateActions.Resume; treeViewElement.Update(updateAction); } }
protected override void OnKeyDown(KeyEventArgs e) { TreeNodeElement ownerElement = this.OwnerElement as TreeNodeElement; if (ownerElement == null || ownerElement.TreeViewElement == null) { return; } switch (e.KeyCode) { case Keys.Return: ownerElement.TreeViewElement.EndEdit(); break; case Keys.Escape: ownerElement.TreeViewElement.CancelEdit(); break; case Keys.Up: if (this.Multiline && (this.selectionLength != 0 || !this.isAtFirstLine)) { break; } RadTreeViewElement treeViewElement1 = ownerElement.TreeViewElement; ownerElement.TreeViewElement.EndEdit(); treeViewElement1.Update(RadTreeViewElement.UpdateActions.Reset); treeViewElement1.ProcessKeyDown(e); break; case Keys.Down: if (this.Multiline && (this.selectionLength != 0 || !this.isAtLastLine)) { break; } RadTreeViewElement treeViewElement2 = ownerElement.TreeViewElement; ownerElement.TreeViewElement.EndEdit(); treeViewElement2.Update(RadTreeViewElement.UpdateActions.Reset); treeViewElement2.ProcessKeyDown(e); break; } }
protected void UpdateViewOnExpandChanged(RadTreeNode node) { treeViewElement.Update(RadTreeViewElement.UpdateActions.ExpandedChanged, node); treeViewElement.UpdateLayout(); }