Skip to main content

Custom Summary

  • 3 minutes to read

Total summaries and group summaries include five predefined aggregate functions that allow you to calculate:

  • The number of data rows
  • The maximum and minimum values
  • The sum and the average value

The ASPxGridBase.CustomSummaryCalculate event allows you to implement a custom summary. For example, custom summaries can calculate summaries against records that meet specific criteria and use multiple data fields in calculations.

Implement Custom Summary

Follow the steps below to implement a custom summary:

The ASPxGridBase.CustomSummaryCalculate event fires for grid data rows in the following cases:

  • When you calculate a total summary value, the grid raises this event for each data row.

  • When you calculate a group summary value, the grid raises this event for each data row in a group.

Note

Note that the grid raises the ASPxGridBase.CustomSummaryCalculate event before and after a row is processed.

The summary calculation consists of three stages:

Example

<dx:ASPxGridView ID="ASPxGridView1" runat="server" OnCustomCallback="ASPxGridView1_CustomCallback" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" ClientInstanceName="grid" Theme="Office365" KeyFieldName="ProductID" OnCustomSummaryCalculate="ASPxGridView1_CustomSummaryCalculate">
    <Columns>
        <dx:GridViewCommandColumn SelectAllCheckboxMode="Page" ShowSelectCheckbox="True" VisibleIndex="0">
        </dx:GridViewCommandColumn>
        <dx:GridViewDataTextColumn FieldName="ProductID" VisibleIndex="1" ReadOnly="True">
            <EditFormSettings Visible="False" />
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn FieldName="ProductName" VisibleIndex="2">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn FieldName="UnitPrice" VisibleIndex="3">
        </dx:GridViewDataTextColumn>
    </Columns>
    <Settings ShowFooter="true" />
    <TotalSummary>
        <dx:ASPxSummaryItem SummaryType="Custom" FieldName="UnitPrice" ShowInColumn="UnitPrice" DisplayFormat="Total price for selected products: {0:c}" ValueDisplayFormat="{0}:c" />
    </TotalSummary>
</dx:ASPxGridView>
<br /> <br />
<dx:ASPxButton ID="ASPxButton4" runat="server" Text="Refresh" AutoPostBack="false" Theme="Office365">
    <ClientSideEvents Click="OnClick" />
</dx:ASPxButton>

Result:

GridView - Custom Summary

Online Demo

ASPxGridView - Export Selected Records