The Industry Leading .NET TreeView Control
Visualize hierarchical data as a tree. Get an interactive TreeView control with selection, editing, and drag-and-drop support. Available in:
- Desktop: WinForms, WPF
- Web: ASP.NET MVC, Wijmo JavaScript

-
Visualize and Edit Hierarchical Data
Display your hierarchical list of items, such as indexed entries, directories on a disk, or headings in a document, as a tree structure. TreeView shows parent-child relationships between items in a grouped list.
-
Provide Selection of Multiple Items
TreeView provides the most efficient way to select multiple, non-adjacent items within a long, hierarchical list. Selection is made possible using checkboxes.
-
Create Customized Data Bound TreeView
The TreeView nodes can be generated automatically from a bound data source. You may also customize the appearance of each node.
Node Customization and Selection
TreeView nodes can be implemented as text, images, checkboxes or custom UI. Selection of multiple, non-adjacent items is possible by displaying checkboxes.
Learn More: WinForms | WPF | ASP.NET MVC


Adding, Removing and Editing in Nodes
Programmatically add or remove parent and child nodes. Editing a treeview is unconventional, but the .NET TreeView makes this possible without disrupting the normal behavior of the control.
Learn More: WinForms | WPF | ASP.NET MVC
Dragging and Dropping Nodes
Allow users to reorder the nodes by dragging and dropping. TreeView supports drag-and-drop operations within the same treeview as well as among multiple treeviews. Parent and child nodes can also be reordered programmatically.
Learn More: WinForms | WPF | ASP.NET MVC


Node Navigation and Expansion
TreeView supports both keyboard and mouse navigation of nodes. You can expand either a single node or all nodes in the tree. And you can even prevent end-users from collapsing the expanded tree by cancelling the event.
Learn More: WinForms | WPF | ASP.NET MVC
Multiple Columns Support
The TreeView contains a single column by default, but you can add additional columns to display more information. Display additional, underlying data in a bound column or display custom text values in an unbound column. This feature is fully supported in WinForms and at design-time.
Learn More: WinForms


On-Demand, Lazy Loading
Instead of fully populating each node when the application starts, you can use a delayed loading technique where nodes are populated on-demand when the user expands them (also known as lazy loading). This allows the application to load faster and use resources more efficiently.
Learn More: WPF | ASP.NET MVC