
Key Features
AJAX-based Load On Demand
RadTreeView introduces a new client-side load on demand mechanism, which allows you to populate child nodes on demand without postback to the server. The nodes, which are retrieved client-side cannot take part in server events, but only in client events like Href redirection, client-side drag-and-drop and all client-side events.
See a live demo.

Drag & Drop between nodes
RadTreeView now supports drag and drop of nodes between other nodes. Furthermore, you can determine the position of the node that is being dropped - the node can be dropped above or below a given node. See a live demo.

Drag & Drop between treeviews
Expand the capabilities of your web-application with the novel drag-and-drop between treeviews functionality. The component generates NodeDrop server-side even, so its handler can perform specific actions, by fetching both the source and destination drag/drop nodes.

Drag & Drop on any HTML element
With RadTreeView v3.0 you can drop nodes not only on other treeviews but on any HTML element, textboxes, buttons, even Datagrids.

Auto-Open Node on Hover
When you want to drop a node to a closed node of the treeview, the latter will be automatically opened once the mouse pointer is held for a second over that node.

Auto-Scroll on Drag
When dragging a node to a part of the treeview which is hidden, the control will scroll up/down to that part automatically.
Search engine friendly
Although it is JavaScript-based, RadTreeView completely follows the principles of Search Engine Optimization. The control's innovative rendering generates DIV elements and standard <a> tags, which are properly recognized and highly valued by search engines. As a result, all content accessible through this control will be automatically indexed and ranked with no extra effort required on the side of the developer.
Node Sorting
RadTreeView now fully supports node sorting. The only thing you need to do is to set the Sort property to one of the following values: Ascending, Descending, None.
Full Keyboard Support
RadTreeView can be fully navigated using the keyboard. You can focus on a treeview with a predefined Alt+Key combination, navigate through the nodes, expand/collapse, select, and check/uncheck nodes.
See a live demo.

Functionality
Drag-and-drop for specific nodes only
Developers can fine-tune the drag and/or drop behavior of the treeview using the DragEnabled and DropEnabled node properties.
Extensive design-time support
The design-time functionality of RadTreeView has been significantly enhanced to include:
- Applying skins in design time
- New Builder dialog
- Easily switch between RadTreeView skins - the AutoFormat command in RadTreeView Smart tag automatically detects the preset skins
- Design-time support for declarative data sources
- Hierarchical binding to flat data sources

Check / uncheck child nodes along with parent
A very convenient and expected behavior of every treeview is that all subnodes should be checked/unchecked whenever the parent node is checked/unchecked respectively. This spares the effort for repetitive clicking that may even be impossible for larger structures.

Control over the initial node state - expanded/collapsed
Creating intuitive hierarchical navigation has never been easier thanks to the RadTreeView's ability to specify the initial state (expanded/collapsed) of a given node or of the whole tree altogether.
Multiple node selection (Ctrl + select)
You can select more than one node by holding down the CTRL key while clicking on a node. Upon postback you can retrieve all selected nodes using an API method.
See a live demo.
Context menu support
Expand the functionality of RadTreeView by adding context (right-click) menus to any treenode. Each context-menu item can fire both server and client events, and are also customizable through CSS.
See a live demo.

Cross-frame support
Every node has a Target attribute which makes RadTreeView compatible for every frame scenario ("_blank" is supported as well).
Custom Attributes
The RadTreeView nodes (RadTreeNode) provide a special collection called Attributes. You can store any number of attributes in the collection as name/value pairs.
See a live demo.
Treeview in combobox mode
Another unique feature of the RadTreeView is the ability for implementation of treeview combobox, similar to the Custom Links drop-down of the RadEditor.
See a live demo.

Fine-tuned behavior with Before / After events
The client-side event model provides greater flexibility allowing you to attach custom JavaScript functions before and after a node is highlighted, clicked, checked, toggled, etc. Events are fired also before and after a context menu item is clicked.
Retaining of the scroll position between postbacks
In case you have a large treeview structure the component can be set to retain its scroll position between postbacks, so that the current node is always visible.
XHTML 1.1 and Accessibility Compliance

RadTreeView now provides complete XHTML compliance. The HTML markup of the component is fully XHTML 1.1 compliant.

RadTreeView provides special accessibility features and full keyboard support, which makes it fully compliant with "Section 508" and "Level A" (in accordance with the W3C Web Accessibility Guidelines 1.0).
Right-To-Left languages support
You can now build treeviews with a mirror-image structure, which is suitable for Right-to-Left languages.
See a live demo.

ASP.NET 2.0 Features
Databinding to declarative datasources
RadTreeView now supports binding to all ASP.NET 2.0 declarative datasources (AccessDataSource, ObjectDataSource, SqlDataSource, SiteMapDataSource, XmlDataSource), or to custom datasources inherited from them.
See a live demo.

Using Server-side API
API for dynamic add/delete/disable of nodes
RadTreeView provides a comprehensive set of API methods for programmatic control at run-time: add, delete, enable, disable, check, uncheck, etc..

Programming
Programmatic checking / unchecking of nodes
You can now easily check/uncheck nodes from the code-behind to facilitate higher interactivity of your treeviews.

Populating the control
Declarative property mapping
You can now declaratively map fields (columns) from the datasource to their respective RadTreeNode properties. Visual Studio 2005 design-time support for DataBindings for codeless mapping is offered as well. Previously, this required custom code in the NodeBound event handler.

Appearance
CSS-based skinning support
To allows for easy appearance customization, RadTreeView uses "skins": a set of images and a CSS stylesheet that can be applied to the treeview structure elements (Nodes, line images). The product is shipped with a number of ready-to-use skins, including Office XP, Windows XP, and MSDN.

Individual node templates
Node templates can be now defined on a per-node basis, which allows you to implement innovative treeview interfaces. See a live demo.

Template Support
You can now embed any content inside a RadTreeView template, including HTML markup, ASP.NET server controls, or third-party controls. This provides virtually unlimited versatility as to the appearance and functionality of the treeview nodes.