[Expand]General Information
[Collapse]WinForms Controls
  .NET Core Support
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications, and Dialogs
  [Expand]Editors and Simple Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Expand]Data Grid
  [Expand]Vertical Grid
  [Expand]Property Grid
  [Expand]Pivot Grid
  [Collapse]Tree List
   [Expand]Product Information
   [Collapse]Feature Center
    [Expand]Data Binding
      Using the Nodes Iterator
      Custom Nodes
    [Expand]Data Editing
    [Expand]Data Presentation
    [Expand]Appearances and Look And Feel
    [Expand]Focus, Selection and Navigation
     Formatting Cell Values
   [Expand]Visual Elements
   [Expand]Design-Time Features
   [Expand]End User Capabilities
   [Expand]Member Tables
  [Expand]Gantt Control
  [Expand]Chart Control
  [Expand]Map Control
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Sunburst Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)


Tree List nodes are data rows organized into a tree-like hierarchy.


API Demos

Expanded Add New Nodes

Nodes (the TreeListNode class objects) are generated automatically if a Tree List has a data source. To add nodes in Unbound Mode, invoke the Tree List Designer dialog and switch to its "Nodes" tab .

Refer to the Unbound Mode article for information on how to add custom nodes in code.

Expanded Access Nodes

The TreeList.Nodes property allows you to access nodes from the control's root level.

Every node has a TreeList.Nodes collection that stores child nodes. You can use the nodes iterator or the following API to retrieve nodes in these collections:

  • TreeList.FocusedNode - Gets or sets the focused node.
  • TreeList.FindNodeByFieldValue - Returns a node by its field value.

  • TreeList.FindNodeByKeyID - Returns the node by its key field value.
  • TreeList.FindNodeByID - Returns the node specified by its identifier.

Expanded Node Icons

Every node can have select and state icons.

Icon Name



Select icon

The main node image. Use the TreeListNode.ImageIndex property to choose an icon from the TreeList.SelectImageList collection assigned to the Tree List.

The optional TreeListNode.SelectImageIndex property allows you to specify another icon for the same node. This image is shown when the node is focused (selected).

State icon

State icons are shown next to select icons and indicate a node's state. These icons are stored in a separate TreeList.StateImageList collection. Use the TreeListNode.StateImageIndex property to choose a state image from this collection.

If the TreeListOptionsView.RowImagesShowMode property is set to InCell, icons are shown inside node cells.

Expanded Node Indents

A node indent is a distance between the control's border and the border of a first cell in this node. The TreeList.TreeLevelWidth property specifies this distance for root nodes.

Expanded Node Checking with Checkboxes and Radio Buttons

The TreeList's node checking feature allows you to enable check boxes or radio buttons for certain tree levels.

You can set or retrieve the nodes' check states using the API the TreeList control provides. In bound mode, it is possible to sync node check states with a field in the data source. See Node Checking - Checkboxes and Radio Buttons for more information.

Expanded Preview Sections

Preview sections are non-editable regions display large memo text or custom data. They are displayed under nodes' data cells across all columns.

See the Preview Sections article for more information.

Is this topic helpful?​​​​​​​