Skip to main content
All docs
V25.1
  • DevExpress v25.1 Update — Your Feedback Matters

    Our What's New in v25.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

    Take the survey Not interested

    TreeListCustomSummaryEventArgs Class

    Contains data for the CustomSummary event.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.1.dll

    NuGet Package: DevExpress.Blazor

    #Declaration

    C#
    public class TreeListCustomSummaryEventArgs

    #Remarks

    Use TreeListCustomSummaryEventArgs (TotalValue, FieldValue, and so on) to evaluate the summary value and access other TreeList data.

    The following code sample calculates the sum of March Sales values of selected TreeList rows:

    Run Demo: Custom Summary

    Razor
    @inject ISalesByRegionDataProvider SalesByRegionDataProvider
    <DxTreeList @ref="TreeList"
                Data="Data"
                KeyFieldName="ID"
                ParentKeyFieldName="RegionID"
                ShowAllRows="true"
                CustomSummary="TreeList_CustomSummary"
                CustomizeSummaryDisplayText="TreeList_CustomizeSummaryDisplayText"
                SelectedDataItemsChanged="TreeList_SelectedDataItemsChanged">
        <Columns>
            <DxTreeListSelectionColumn Width="50px" />
            <DxTreeListDataColumn FieldName="Region" Width="15%" />
            <DxTreeListDataColumn FieldName="MarchSales" DisplayFormat="c0" Width="25%" />
            <DxTreeListDataColumn FieldName="SeptemberSales" DisplayFormat="c0" Width="15%" />
            <DxTreeListDataColumn FieldName="MarchChange" DisplayFormat="p2" Width="15%" />
            <DxTreeListDataColumn FieldName="SeptemberChange" DisplayFormat="p2" Width="15%" />
            <DxTreeListDataColumn FieldName="MarketShare" DisplayFormat="p0" Width="15%" />
        </Columns>
        <TotalSummary>
            <DxTreeListSummaryItem SummaryType="TreeListSummaryItemType.Count" FieldName="Region" />
            <DxTreeListSummaryItem SummaryType="TreeListSummaryItemType.Sum" FieldName="MarchSales" />
            <DxTreeListSummaryItem SummaryType="TreeListSummaryItemType.Custom" FieldName="MarchSales" Name="Custom" />
        </TotalSummary>
    </DxTreeList>
    
    @code {
        ITreeList TreeList { get; set; }
        object Data { get; set; }
        protected override void OnInitialized() {
            Data = SalesByRegionDataProvider.GenerateData();
        }
        void TreeList_CustomSummary(TreeListCustomSummaryEventArgs e) {
            switch(e.SummaryStage) {
                case TreeListCustomSummaryStage.Start:
                    e.TotalValue = 0m;
                    break;
                case TreeListCustomSummaryStage.Calculate:
                    if(e.TreeList.IsDataItemSelected(e.DataItem))
                        e.TotalValue = (decimal)e.TotalValue + (decimal)e.GetRowValue("MarchSales");
                    break;
            }
        }
        void TreeList_CustomizeSummaryDisplayText(TreeListCustomizeSummaryDisplayTextEventArgs e) {
            if(e.Item.Name == "Custom")
                e.DisplayText = string.Format("Sum of Selected ({0}): {1:c0}", e.TreeList.SelectedDataItems.Count, e.Value);
        }
        void TreeList_SelectedDataItemsChanged(IReadOnlyList<object> newSelection) {
            TreeList.RefreshSummary();
        }
    }
    

    Blazor TreeList - Summary for Selection

    #Inheritance

    Object
    TreeListCustomSummaryEventArgs
    See Also