• 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

Next Steps