Data Summaries
- 3 minutes to read
ASPxGridView allows you to display a summary, i.e., brief information about groups of rows or individual data columns. For example, you can display the number of records or the maximum value.
ASPxGridView supports two types of summaries:
-
A total summary represents the value of an aggregate function calculated over all the rows within ASPxGridView and are displayed within the footer.
-
A group summary represents the value of an aggregate function calculated over all rows within a group and displayed in the group row or group footer.
-
A custom summary allows you to calculate summaries against records that meet specific criteria and use multiple data fields in calculations.
Summaries (group and total) are represented by ASPxSummaryItem objects. To work properly, the following two summary item properties must be specified.
- The ASPxSummaryItemBase.FieldName property specifies the name of the data source field in which values are used for summary calculation.
- The ASPxSummaryItemBase.SummaryType property specifies the aggregate function type.
<dx:ASPxSummaryItem FieldName="Total" SummaryType="Sum"/>
The summary item above summarizes the ‘Total’ field values within a group and displays the sum in the group row.
The ASPxSummaryItem object provides two properties allowing you to determine the location to display the summary.
- The ASPxSummaryItem.ShowInColumn property specifies the column in which the footer cell (for a total summary) or group row/group footer (for a group summary) should display a summary value.
- The ASPxSummaryItem.ShowInGroupFooterColumn property specifies the column in which cells should display a summary value (for a group summary only).
Note
In server mode, a summary cannot be calculated for unbound columns in which values are calculated via events (see ASPxGridView.CustomUnboundColumnData). Only columns with unbound expressions (see GridViewDataColumn.UnboundExpression) support summary calculation.
Example
The code sample below demonstrates how you can specify group and total summaries. To specify the group summary items location, the ASPxSummaryItem.ShowInColumn and ASPxSummaryItem.ShowInGroupFooterColumn properties are used.
Note that summary item four is not displayed because the ‘OrderDate’ column, where the item should be displayed, does not exist (the grid is grouped by the ‘OrderDate’ field). Summary item five is not displayed because the ‘Total’ group row, where the item should be displayed, does not exist (the grid is not grouped by the ‘Total’ field)
The image below shows the result.
<dx:ASPxGridView ID="grid" ...>
...
<TotalSummary>
<dx:ASPxSummaryItem FieldName="Total" SummaryType="Min" />
<dx:ASPxSummaryItem FieldName="Total" SummaryType="Max" />
<dx:ASPxSummaryItem FieldName="Total" SummaryType="Sum" />
</TotalSummary>
<GroupSummary>
<%-- Group Summary Item 1 --%>
<dx:ASPxSummaryItem FieldName="Country" ShowInColumn="Country" SummaryType="Count" />
<%-- Group Summary Item 2 --%>
<dx:ASPxSummaryItem FieldName="Quantity" ShowInGroupFooterColumn="UnitPrice" SummaryType="Sum" />
<%-- Group Summary Item 3 --%>
<dx:ASPxSummaryItem FieldName="Total" ShowInColumn="ProductName" ShowInGroupFooterColumn="Quantity" SummaryType="Sum" />
<%-- Group Summary Item 4 --%>
<dx:ASPxSummaryItem FieldName="Quantity" SummaryType="Sum" ShowInGroupFooterColumn="OrderDate" />
<%-- Group Summary Item 5 --%>
<dx:ASPxSummaryItem FieldName="Total" SummaryType="Sum" ShowInColumn="Total" />
</GroupSummary>
<Settings ShowGroupPanel="True" ShowFooter="True" ShowGroupFooter="VisibleIfExpanded"></Settings>
</dx:ASPxGridView>
Concepts
- Predefined Aggregate Functions
- Group Summary
- Total Summary
- Obtain Summary Values
- Custom Summary
- Sort Groups by Summary Values