GridControl.CustomSummaryExists Event
Enables you to specify which summaries should be calculated and displayed.
Namespace: DevExpress.Xpf.Grid
Assembly: DevExpress.Xpf.Grid.v24.1.dll
NuGet Package: DevExpress.Wpf.Grid.Core
Declaration
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.
-
In this case, the CustomSummaryExistEventArgs.IsTotalSummary parameter returns true. The processed summary item is returned by the CustomSummaryExistEventArgs.Item property. If required, use the summary item’s properties to identify the column where it is displayed.
-
In this case, the CustomSummaryExistEventArgs.IsGroupSummary parameter returns true. The CustomSummaryExistEventArgs.GroupRowHandle property identifies the group for which the summary value should be calculated. The processed group summary item is returned by the CustomSummaryExistEventArgs.Item property.
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:
<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;
}
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the CustomSummaryExists 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.