Skip to main content
A newer version of this page is available. .

TreeList.VirtualTreeGetChildNodes Event

This event allows you to provide root and child nodes, when populating the Tree List control with data dynamically.

Namespace: DevExpress.XtraTreeList

Assembly: DevExpress.XtraTreeList.v21.2.dll

NuGet Packages: DevExpress.Win.Design, DevExpress.Win.TreeList

Declaration

[DXCategory("VirtualTree")]
public event VirtualTreeGetChildNodesEventHandler VirtualTreeGetChildNodes

Event Data

The VirtualTreeGetChildNodes event's data class is VirtualTreeGetChildNodesInfo. The following properties provide information specific to this event:

Property Description
Children Gets or sets the collection of children for the currently processed business object.
Node Gets an instance of the business object being currently processed.

Remarks

The TreeList.VirtualTreeGetChildNodes, TreeList.VirtualTreeGetCellValue and TreeList.VirtualTreeSetCellValue events support dynamic data loading. Please refer to Virtual Mode (Dynamic Data Loading) Using Events (Tree List Level) to learn more.

A Tree List control supports dynamic data loading. To implement this data loading mode, set the TreeList.DataSource property to any object, except objects that implement the IList or IVirtualTreeListData interface. Then handle the VirtualTreeGetChildNodes and TreeList.VirtualTreeGetCellValue events, to provide data. To respond to an end-user changing node cells, handle the TreeList.VirtualTreeSetCellValue event.

The VirtualTreeGetChildNodes event fires on demand.

For more information and examples, see Virtual Mode (Dynamic Data Loading) Using Events (Tree List Level).

Example

The following demo shows how to use the TreeList.VirtualTreeGetChildNodes and TreeList.VirtualTreeGetCellValue events to specify data for a Tree List control.

Run Demo: Explorer(Virtual Tree)

The navigationTreeList control in this demo displays directories of the file system. Instead of loading the entire directory structure on application startup, this control loads directories on demand (when a user expands a specific directory).

Tree List - Virtual mode events

The TreeList.VirtualTreeGetChildNodes event is handled to dynamically load child items (directories) for a specific node. The Tree List control automatically creates nodes for all child items that the VirtualTreeGetChildNodes event handler supplies.

The TreeList.VirtualTreeGetCellValue event handler specifies values for loaded children.

navigationTreeList.VirtualTreeGetChildNodes += OnNavigationTreeListGetChildNodes;
navigationTreeList.VirtualTreeGetCellValue += OnNavigationTreeListGetCellValue;
//...
void OnNavigationTreeListGetChildNodes(object sender, VirtualTreeGetChildNodesInfo e) {
    Cursor current = Cursor.Current;
    Cursor.Current = Cursors.WaitCursor;
    e.Children = ((Item)e.Node).GetDirectories();
    Cursor.Current = current;
}

void OnNavigationTreeListGetCellValue(object sender, VirtualTreeGetCellValueInfo e) {
    e.CellData = ((Item)e.Node).DisplayName;
}

//...
public abstract class Item : IFileImage {
    //...
    public string DisplayName {get; private set;}
    public abstract List<Item> GetDirectories();
}

See the Explorer (Virtual Tree) demo for the complete code.

The following code snippets (auto-collected from DevExpress Examples) contain references to the VirtualTreeGetChildNodes event.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also