GridControl.CustomSummaryExists Event

Enables you to specify which summaries should be calculated and displayed.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v21.1.dll

Declaration

public event CustomSummaryExistEventHandler CustomSummaryExists

Event Data

The CustomSummaryExists event's data class is CustomSummaryExistEventArgs. The following properties provide information specific to this event:

Property Description
Exists Gets or sets whether the summary value should be calculated and displayed.
GroupLevel Gets the nesting level of the group whose summary value is being calculated.
GroupRowHandle Gets a value identifying the group row whose summary value is about to be calculated.
IsGroupSummary Gets whether a group summary value is about to be calculated.
IsTotalSummary Gets whether a total summary value is about to be calculated.
Item Gets a summary item whose value is about to be calculated.

Remarks

The event is raised before a particular summary value is calculated, allowing cancellation of the calculation. To cancel summary value calculation, set the event parameter’s CustomSummaryExistEventArgs.Exists parameter to false.

Note

The CustomSummaryExists event does not work in Server Mode.

If you want to maintain a clean MVVM pattern and specify whether to calculate a particular summary value in a View Model, create a command and bind it to the CustomSummaryExistsCommand property.

Example

The following example shows how to calculate group summaries and display them within group rows. A group summary is a value of the aggregate function calculated over all data rows within a group. The GridControl‘s GroupSummary collection stores group summary items.

This example uses the GridControl.CustomSummaryExists event to calculate group summaries only for the top group level:

DevExpress WPF | Grid Control - Custom Summary Exists

View Example: How to Display Group Summaries

<dxg:GridControl x:Name="grid" CustomSummaryExists="OnCustomSummaryExists">
    <dxg:GridControl.View>
        <dxg:TableView AutoWidth="True"/>
    </dxg:GridControl.View>
    <dxg:GridControl.Columns>
        <dxg:GridColumn FieldName="UserName" />
        <dxg:GridColumn FieldName="RegistrationDate" />
        <dxg:GridColumn FieldName="Married" GroupIndex="0" SortOrder="Ascending" />
        <dxg:GridColumn FieldName="Age" />
    </dxg:GridControl.Columns>
    <dxg:GridControl.GroupSummary>
        <dxg:GridSummaryItem FieldName="Age" SummaryType="Min"/>
        <dxg:GridSummaryItem FieldName="Age" SummaryType="Max"/>
    </dxg:GridControl.GroupSummary>
</dxg:GridControl>
void OnCustomSummaryExists(object sender, CustomSummaryExistEventArgs e) {
    e.Exists = e.GroupLevel == 0;
}
See Also