windowsforms-devexpress-dot-xtratreelist-dot-treelist-438c396a.md
This event allows you to initialize cells (and optionally the check state) of the processed node, when populating the Tree List control with data dynamically.
Namespace : DevExpress.XtraTreeList
Assembly : DevExpress.XtraTreeList.v25.2.dll
NuGet Packages : DevExpress.Win.Navigation, DevExpress.Win.TreeList
[DXCategory("VirtualTree")]
public event VirtualTreeGetCellValueEventHandler VirtualTreeGetCellValue
<DXCategory("VirtualTree")>
Public Event VirtualTreeGetCellValue As VirtualTreeGetCellValueEventHandler
The VirtualTreeGetCellValue event's data class is VirtualTreeGetCellValueInfo. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| CellData | Gets or sets the current cell value (when VirtualTreeGetCellValueInfo.IsCheckState is false ) or the node’s check state (when VirtualTreeGetCellValueInfo.IsCheckState is true ). |
| Column | Gets the column that contains the cell currently being processed. |
| IsCheckState | Gets whether the TreeList.VirtualTreeGetCellValue event/ IVirtualTreeListData.VirtualTreeGetCellValue interface method is currently fired for you to provide a node’s check state. |
| Node | Gets an instance of the business object being currently processed. |
For more information, see Virtual Mode (Dynamic Data Loading) Using Events (Tree List Level).
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).
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();
}
AddHandler Me.navigationTreeList.VirtualTreeGetChildNodes, AddressOf Me.OnNavigationTreeListGetChildNodes
AddHandler Me.navigationTreeList.VirtualTreeGetCellValue, AddressOf Me.OnNavigationTreeListGetCellValue
'...
Private Sub OnNavigationTreeListGetChildNodes(ByVal sender As Object, ByVal e As DevExpress.XtraTreeList.VirtualTreeGetChildNodesInfo)
Dim current As System.Windows.Forms.Cursor = System.Windows.Forms.Cursor.Current
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
e.Children = CType(e.Node, DevExpress.XtraTreeList.Demos.Item).GetDirectories()
System.Windows.Forms.Cursor.Current = current
End Sub
Private Sub OnNavigationTreeListGetCellValue(ByVal sender As Object, ByVal e As DevExpress.XtraTreeList.VirtualTreeGetCellValueInfo)
e.CellData = CType(e.Node, DevExpress.XtraTreeList.Demos.Item).DisplayName
End Sub
Public MustInherit Class Item
Implements DevExpress.XtraTreeList.Demos.IFileImage
'...
Private _DisplayName As String, _Name As String, _FullName As String
Public MustOverride Function GetDirectories() As List(Of DevExpress.XtraTreeList.Demos.Item)
End Class
Handle the TreeList.VirtualTreeSetCellValue event for the opposite task: if the Tree List is editable, you can write new cell values entered by users to a data source.
using DevExpress.XtraTreeList;
void OnVirtualTreeSetCellValue(object sender, VirtualTreeSetCellValueInfo e) {
((Item)e.Node).DisplayName = e.NewCellData.ToString();
}
Imports DevExpress.XtraTreeList
Private Sub OnVirtualTreeSetCellValue(ByVal sender As Object, ByVal e As VirtualTreeSetCellValueInfo)
CType(e.Node, Item).DisplayName = e.NewCellData.ToString()
End Sub
See the Explorer (Virtual Tree) demo for the complete code.
The following code snippets (auto-collected from DevExpress Examples) contain references to the VirtualTreeGetCellValue 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.
winforms-spreadsheet-chart-api/CS/SpreadsheetChartAPISamples/Form1.cs#L154
treeList.VirtualTreeGetChildNodes += treeList_VirtualTreeGetChildNodes;
treeList.VirtualTreeGetCellValue += treeList_VirtualTreeGetCellValue;
#endregion
winforms-spreadsheet-pivot-table-api/CS/SpreadsheetPivotTableExamples/Form1.cs#L142
treeList.VirtualTreeGetChildNodes += treeList_VirtualTreeGetChildNodes;
treeList.VirtualTreeGetCellValue += treeList_VirtualTreeGetCellValue;
#endregion
winforms-spreadsheetcontrol-api-part-3/CS/SpreadsheetControl_API_Part03/Form1.cs#L315
treeList.VirtualTreeGetChildNodes += treeList_VirtualTreeGetChildNodes;
treeList.VirtualTreeGetCellValue += treeList_VirtualTreeGetCellValue;
#endregion
winforms-richeditcontrol-common-api/CS/RichEditAPISample/Form1.cs#L421
treeList.VirtualTreeGetChildNodes += treeList_VirtualTreeGetChildNodes;
treeList.VirtualTreeGetCellValue += treeList_VirtualTreeGetCellValue;
#endregion
winforms-richedit-document-api/CS/RichEditAPISample/Form1.cs#L409
treeList.VirtualTreeGetChildNodes += treeList_VirtualTreeGetChildNodes;
treeList.VirtualTreeGetCellValue += treeList_VirtualTreeGetCellValue;
#endregion
winforms-spreadsheet-chart-api/VB/SpreadsheetChartAPISamples/Form1.vb#L149
AddHandler treeList.VirtualTreeGetChildNodes, AddressOf treeList_VirtualTreeGetChildNodes
AddHandler treeList.VirtualTreeGetCellValue, AddressOf treeList_VirtualTreeGetCellValue
' #End Region
winforms-spreadsheet-pivot-table-api/VB/SpreadsheetPivotTableExamples/Form1.vb#L135
AddHandler treeList.VirtualTreeGetChildNodes, AddressOf treeList_VirtualTreeGetChildNodes
AddHandler treeList.VirtualTreeGetCellValue, AddressOf treeList_VirtualTreeGetCellValue
' #End Region
winforms-spreadsheetcontrol-api-part-3/VB/SpreadsheetControl_API_Part03/Form1.vb#L318
AddHandler treeList.VirtualTreeGetChildNodes, AddressOf treeList_VirtualTreeGetChildNodes
AddHandler treeList.VirtualTreeGetCellValue, AddressOf treeList_VirtualTreeGetCellValue
#End Region
winforms-richeditcontrol-common-api/VB/RichEditAPISample/Form1.vb#L413
AddHandler treeList.VirtualTreeGetChildNodes, AddressOf treeList_VirtualTreeGetChildNodes
AddHandler treeList.VirtualTreeGetCellValue, AddressOf treeList_VirtualTreeGetCellValue
' #End Region
winforms-richedit-document-api/VB/RichEditAPISample/Form1.vb#L414
AddHandler treeList.VirtualTreeGetChildNodes, AddressOf treeList_VirtualTreeGetChildNodes
AddHandler treeList.VirtualTreeGetCellValue, AddressOf treeList_VirtualTreeGetCellValue
#End Region
See Also