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

DxGrid.CustomizeSummaryDisplayText Event

Allows you to customize the summary display text.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v21.1.dll

NuGet Package: DevExpress.Blazor

Declaration

[Parameter]
public Action<GridCustomizeSummaryDisplayTextEventArgs> CustomizeSummaryDisplayText { get; set; }

Parameters

Type Description
GridCustomizeSummaryDisplayTextEventArgs

A GridCustomizeSummaryDisplayTextEventArgs object that contains data for this event.

Remarks

Run Demo: Grid - Custom Summary

Use GridCustomizeSummaryDisplayTextEventArgs (Value, DisplayText, and so on) to specify the summary display text and access other grid data.

The example below illustrates how to create a custom summary item, whose value is evaluated and formatted within the CustomSummary and CustomizeSummaryDisplayText event handlers.

<DxGrid Data="GridDataSource"
        UnboundColumnData="Grid_CustomUnboundColumnData"
        CustomizeSummaryDisplayText="Grid_CustomizeSummaryDisplayText"
        CustomSummary="Grid_CustomSummary">
    <Columns>
        <DxGridDataColumn FieldName="ProductId" DisplayFormat="d" />
        <DxGridDataColumn FieldName="UnitPrice" />
        <DxGridDataColumn FieldName="Quantity" />
        <DxGridDataColumn FieldName="Discount" DisplayFormat="p0" />
        <DxGridDataColumn FieldName="TotalPrice"
                      DisplayFormat="c"
                      UnboundType="GridUnboundColumnType.Decimal" />
    </Columns>
    <TotalSummary>
        <DxGridSummaryItem SummaryType="GridSummaryItemType.Sum" FieldName="TotalPrice" />
        <DxGridSummaryItem SummaryType="GridSummaryItemType.Custom" Name="Custom" FieldName="ProductId" />
    </TotalSummary>
</DxGrid>
@* ... *@
@code {
    object GridDataSource { get; set; }
    int totalCount;

    protected override void OnInitialized() {
        GridDataSource = Northwind.OrderDetails
            .Include(i => i.Order)
            .Include(i => i.Product)
            .ToList();
    }

    void Grid_CustomSummary(GridCustomSummaryEventArgs e) {
        if (e.SummaryStage == GridCustomSummaryStage.Start)
            totalCount = 0;
        else if (e.SummaryStage == GridCustomSummaryStage.Calculate) {
            if (Convert.ToInt16(e.GetValue("UnitPrice")) < 20)
                totalCount++;
        }
        else if (e.SummaryStage == GridCustomSummaryStage.Finalize)
            e.TotalValue = totalCount;
    }

    void Grid_CustomizeSummaryDisplayText(GridCustomizeSummaryDisplayTextEventArgs e) {
        if (e.Item.Name == "Custom")
            e.DisplayText = string.Format("Count (Unit Price < 20): {0}", e.Value);
    }
    @* ... *@
}

DevExpress Blazor Grid - Custom Summary

See Also