DxTreeList.ChildrenLoading Event
Allows you to populate a node with child nodes. The TreeList component raises this event for each node during initialization.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v24.1.dll
NuGet Package: DevExpress.Blazor
Declaration
[Parameter]
public Action<TreeListChildrenLoadingEventArgs> ChildrenLoading { get; set; }
Parameters
Type | Description |
---|---|
TreeListChildrenLoadingEventArgs | An object that contains data for this event. |
Remarks
If your hierarchical data source does not include a field that stores child nodes, you can populate the TreeList component with data during component initialization. Follow the steps below to populate the component with data in code:
- Bind the Data parameter to a C# property.
- Populate this property with root data items in the OnInitialized or OnInitializedAsync lifecycle method.
- Handle the
ChildrenLoading
event. In the event handler, use the Parent event argument to determine the processed node and assign the node’s children to the Children collection.
Note
The TreeList component loads all data during initialization when you handle the ChildrenLoading
event. Instead of this event, you can handle the ChildrenLoadingOnDemand event and load nodes on demand. Refer to the following topic for more information: Load Data on Demand.
The following example populates the TreeList component with data in code:
@inject SpaceObjectDataProvider SpaceObjectDataProvider
<DxTreeList Data="TreeListData" ChildrenLoading="OnChildrenLoading">
<Columns>
<DxTreeListDataColumn FieldName="Name" />
<DxTreeListDataColumn FieldName="TypeOfObject" Caption="Type" />
<DxTreeListDataColumn FieldName="Mass10pow21kg" Caption="Mass, kg" DisplayFormat="N2">
<HeaderCaptionTemplate>Mass, 10<sup>21</sup> × kg</HeaderCaptionTemplate>
</DxTreeListDataColumn>
<DxTreeListDataColumn FieldName="MeanRadiusInKM" Caption="Radius, km" DisplayFormat="N2"/>
<DxTreeListDataColumn FieldName="Volume10pow9KM3" DisplayFormat="N2">
<HeaderCaptionTemplate>Volume, 10<sup>9</sup> × km<sup>3</sup></HeaderCaptionTemplate>
</DxTreeListDataColumn>
<DxTreeListDataColumn FieldName="SurfaceGravity" DisplayFormat="N2">
<HeaderCaptionTemplate>Gravity, m/s<sup>2</sup></HeaderCaptionTemplate>
</DxTreeListDataColumn>
</Columns>
</DxTreeList>
@code {
object TreeListData { get; set; }
protected override async Task OnInitializedAsync() {
TreeListData = SpaceObjectDataProvider.GenerateRootData();
}
void OnChildrenLoading(TreeListChildrenLoadingEventArgs e) {
e.Children = SpaceObjectDataProvider.GetChildren((SpaceObject)e.Parent);
}
}