[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Expand]DevExpress.Snap
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Extensions.UI
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Behaviors
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.DragDrop
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Filtering
  [Expand]DevExpress.Utils.Layout
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.MVVM
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Expand]DevExpress.XtraBars
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Base
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.FluentDesignSystem
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.ToolbarForm
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Docking
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Expand]DevExpress.XtraEditors.Repository
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Grid
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Converter
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Expand]DevExpress.XtraPdfViewer
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Extensions
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.GoogleCalendar
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Collapse]DevExpress.XtraTreeList
   [Expand]BeforeCollapseEventArgs Class
    BeforeCollapseEventHandler Delegate
   [Expand]BeforeDragNodeEventArgs Class
    BeforeDragNodeEventHandler Delegate
   [Expand]BeforeExpandEventArgs Class
    BeforeExpandEventHandler Delegate
   [Expand]BeforeFocusNodeEventArgs Class
    BeforeFocusNodeEventHandler Delegate
   [Expand]CalcNodeDragImageIndexEventArgs Class
    CalcNodeDragImageIndexEventHandler Delegate
   [Expand]CalcNodeHeightEventArgs Class
    CalcNodeHeightEventHandler Delegate
   [Expand]CellEventArgs Class
   [Expand]CellValueChangedEventArgs Class
    CellValueChangedEventHandler Delegate
   [Expand]ClipboardNodePastingEventArgs Class
   [Expand]ColumnChangedEventArgs Class
    ColumnChangedEventHandler Delegate
   [Expand]CompareNodeValuesEventArgs Class
    CompareNodeValuesEventHandler Delegate
   [Expand]CreateCustomNodeEventArgs Class
    CreateCustomNodeEventHandler Delegate
   [Expand]CustomDrawColumnHeaderEventArgs Class
    CustomDrawColumnHeaderEventHandler Delegate
   [Expand]CustomDrawEmptyAreaEventArgs Class
    CustomDrawEmptyAreaEventHandler Delegate
   [Expand]CustomDrawEventArgs Class
   [Expand]CustomDrawFooterCellEventArgs Class
    CustomDrawFooterCellEventHandler Delegate
   [Expand]CustomDrawFooterEventArgs Class
    CustomDrawFooterEventHandler Delegate
   [Expand]CustomDrawNodeButtonEventArgs Class
    CustomDrawNodeButtonEventHandler Delegate
   [Expand]CustomDrawNodeCellEventArgs Class
    CustomDrawNodeCellEventHandler Delegate
   [Expand]CustomDrawNodeImagesEventArgs Class
    CustomDrawNodeImagesEventHandler Delegate
   [Expand]CustomDrawNodeIndicatorEventArgs Class
    CustomDrawNodeIndicatorEventHandler Delegate
   [Expand]CustomDrawNodePreviewEventArgs Class
    CustomDrawNodePreviewEventHandler Delegate
   [Expand]CustomDrawRowFooterCellEventArgs Class
    CustomDrawRowFooterCellEventHandler Delegate
   [Expand]CustomDrawRowFooterEventArgs Class
    CustomDrawRowFooterEventHandler Delegate
   [Expand]CustomizeNewNodeFromOuterDataEventArgs Class
    CustomizeNewNodeFromOuterDataEventHandler Delegate
   [Expand]CustomRowFilterEventArgs Class
    FilterMode Enumeration
   [Expand]FilterNodeEventArgs Class
    FilterPopupMode Enumeration
    FindMode Enumeration
   [Expand]FocusedColumnChangedEventArgs Class
    FocusedColumnChangedEventHandler Delegate
   [Expand]FocusedNodeChangedEventArgs Class
    FocusedNodeChangedEventHandler Delegate
   [Expand]GetCustomNodeCellEditEventArgs Class
    GetCustomNodeCellEditEventHandler Delegate
   [Expand]GetCustomNodeCellStyleEventArgs Class
    GetCustomNodeCellStyleEventHandler Delegate
   [Expand]GetCustomSummaryValueEventArgs Class
    GetCustomSummaryValueEventHandler Delegate
   [Expand]GetNodeDisplayValueEventArgs Class
    GetNodeDisplayValueEventHandler Delegate
   [Expand]GetPreviewTextEventArgs Class
    GetPreviewTextEventHandler Delegate
   [Expand]GetSelectImageEventArgs Class
    GetSelectImageEventHandler Delegate
   [Expand]GetStateImageEventArgs Class
    GetStateImageEventHandler Delegate
    HitInfoType Enumeration
   [Expand]InvalidNodeExceptionEventArgs Class
    InvalidNodeExceptionEventHandler Delegate
    LineStyle Enumeration
   [Expand]NodeChangedEventArgs Class
    NodeChangedEventHandler Delegate
    NodeChangeTypeEnum Enumeration
   [Expand]NodeClickEventArgs Class
    NodeClickEventHandler Delegate
   [Expand]NodeEventArgs Class
    NodeEventHandler Delegate
   [Expand]OptionsLayoutTreeList Class
   [Expand]PopupMenuShowingEventArgs Class
    PopupMenuShowingEventHandler Delegate
    ScrollVisibility Enumeration
    ShowButtonModeEnum Enumeration
    ShowFilterPanelMode Enumeration
    SummaryItemType Enumeration
   [Collapse]TreeList Class
     TreeList Members
     TreeList Constructor
    [Expand]TreeList Properties
    [Collapse]TreeList Events
      AfterCheckNode Event
      AfterCollapse Event
      AfterDragNode Event
      AfterDropNode Event
      AfterExpand Event
      AfterFocusNode Event
      BandWidthChanged Event
      BeforeCheckNode Event
      BeforeCollapse Event
      BeforeDragNode Event
      BeforeDropNode Event
      BeforeExpand Event
      BeforeFocusNode Event
      BeforeLoadLayout Event
      CalcNodeDragImageIndex Event
      CalcNodeHeight Event
      CellValueChanged Event
      CellValueChanging Event
      ClipboardNodePasting Event
      ColumnButtonClick Event
      ColumnChanged Event
      ColumnFilterChanged Event
      ColumnPositionChanged Event
      ColumnUnboundExpressionChanged Event
      ColumnWidthChanged Event
      CompareNodeValues Event
      CreateCustomNode Event
      CustomColumnDisplayText Event
      CustomColumnSort Event
      CustomDrawBandHeader Event
      CustomDrawColumnHeader Event
      CustomDrawEmptyArea Event
      CustomDrawFilterPanel Event
      CustomDrawFooter Event
      CustomDrawFooterCell Event
      CustomDrawNodeButton Event
      CustomDrawNodeCell Event
      CustomDrawNodeCheckBox Event
      CustomDrawNodeImages Event
      CustomDrawNodeIndent Event
      CustomDrawNodeIndicator Event
      CustomDrawNodePreview Event
      CustomDrawRow Event
      CustomDrawRowFooter Event
      CustomDrawRowFooterCell Event
      CustomDrawScroll Event
      CustomFilterDisplayText Event
      CustomizeNewNodeFromOuterData Event
      CustomNodeCellEdit Event
      CustomNodeCellEditForEditing Event
      CustomRowFilter Event
      CustomScrollAnnotation Event
      CustomUnboundColumnData Event
      DataSourceChanged Event
      DefaultPaintHelperChanged Event
      DragCancelNode Event
      DragObjectDrop Event
      DragObjectOver Event
      DragObjectStart Event
      EndSorting Event
      FilterEditorCreated Event
      FilterNode Event
      FilterPopupExcelCustomizeTemplate Event
      FilterPopupExcelData Event
      FilterPopupExcelPrepareTemplate Event
      FilterPopupExcelQueryFilterCriteria Event
      FocusedColumnChanged Event
      FocusedNodeChanged Event
      FormatRuleExpressionEditorCreated Event
      GetCustomNodeCellEdit Event
      GetCustomNodeCellStyle Event
      GetCustomSummaryValue Event
      GetNodeDisplayValue Event
      GetPreviewText Event
      GetPrintCustomSummaryValue Event
      GetPrintPreviewText Event
      GetSelectImage Event
      GetStateImage Event
      HiddenEditor Event
      HideCustomizationForm Event
      InvalidNodeException Event
      InvalidValueException Event
      LayoutUpdated Event
      LayoutUpgrade Event
      LeftCoordChanged Event
      Load Event
      MeasurePreviewHeight Event
      NodeCellStyle Event
      NodeChanged Event
      NodesReloaded Event
      PaintEx Event
      ParseFindPanelText Event
      PopupMenuShowing Event
      PrintExportProgress Event
      QueryCustomFunctions Event
      RowCellClick Event
      RowClick Event
      RowSelectImageClick Event
      RowStateImageClick Event
      ScrollAnnotationsStyle Event
      SelectImageClick Event
      SelectionChanged Event
      ShowCustomizationForm Event
      ShowFilterPopupCheckedListBox Event
      ShowFilterPopupDate Event
      ShowFilterPopupExcel Event
      ShowFilterPopupListBox Event
      ShowingEditor Event
      ShownEditor Event
      ShowTreeListMenu Event
      StartSorting Event
      StateChanged Event
      StateImageClick Event
      SubstituteFilter Event
      TopVisibleNodeIndexChanged Event
      TreeListMenuItemClick Event
      UnboundExpressionEditorCreated Event
      ValidateNode Event
      ValidatingEditor Event
      VirtualTreeGetCellValue Event
      VirtualTreeGetChildNodes Event
      VirtualTreeSetCellValue Event
    [Expand]TreeList Methods
    TreeListAnimationType Enumeration
   [Expand]TreeListAppearanceCollection Class
    TreeListBestFitMode Enumeration
   [Expand]TreeListHitInfo Class
   [Expand]TreeListMenuEventArgs Class
    TreeListMenuEventHandler Delegate
   [Expand]TreeListMenuItemClickEventArgs Class
    TreeListMenuItemClickEventHandler Delegate
   [Expand]TreeListMultiSelection Class
   [Expand]TreeListOptionsBehavior Class
   [Expand]TreeListOptionsClipboard Class
   [Expand]TreeListOptionsCustomization Class
   [Expand]TreeListOptionsDragAndDrop Class
   [Expand]TreeListOptionsFilter Class
   [Expand]TreeListOptionsMenu Class
   [Expand]TreeListOptionsNavigation Class
   [Expand]TreeListOptionsPrint Class
   [Expand]TreeListOptionsSelection Class
   [Expand]TreeListOptionsView Class
   [Expand]TreeListPrintAppearanceCollection Class
    TreeListState Enumeration
   [Expand]ValidateNodeEventArgs Class
    ValidateNodeEventHandler Delegate
    VirtualTreeGetCellValueEventHandler Delegate
   [Expand]VirtualTreeGetCellValueInfo Class
    VirtualTreeGetChildNodesEventHandler Delegate
   [Expand]VirtualTreeGetChildNodesInfo Class
    VirtualTreeSetCellValueEventHandler Delegate
   [Expand]VirtualTreeSetCellValueInfo Class
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraTreeMap.Printing
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[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]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

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.v19.1.dll

Expanded Syntax

Expanded Event Data

The event handler receives an argument of type VirtualTreeGetChildNodesInfo containing data related to this event.

The following VirtualTreeGetChildNodesInfo 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.

Expanded Remarks

The VirtualTreeGetChildNodes, VirtualTreeGetCellValue and 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 DataSource property to any object, except objects that implement the IList or IVirtualTreeListData interface. Then handle the VirtualTreeGetChildNodes and VirtualTreeGetCellValue events, to provide data. To respond to an end-user changing node cells, handle the VirtualTreeSetCellValue event.

The VirtualTreeGetChildNodes event fires on demand.

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

Expanded Example

The example shows how to display information on directories and files on your system in a Tree List control dynamically, using only events. The full code for this example is available in the Explorer (Virtual Tree) module of the Tree List Main Demo. Here, only a part of the code is listed, giving you a basic understanding of how the Tree List events for dynamic loading work.

To provide data for the Tree List control, the VirtualTreeGetChildNodes and VirtualTreeGetCellValue events are handled. The first event is used to provide lists of root and child nodes. The second event is used to provide values for node cells. To save the changes made by an end-user to node cells, the VirtualTreeSetCellValue event is handled. However, its implementation is omitted here. In this example, it's assumed that the Tree List control contains three columns, displaying a directory/file name, a directory flag and a file size. This data is provided via the VirtualTreeGetCellValue event.

To support dynamic data loading, the DataSource property must be set to any custom object, except an IList object or an object implementing the IVirtualTreeListData interface. In the example, the DataSource property is set to a new Object instance.

The image below shows the result.

Expanded See Also

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