Client-Side Data Aggregation
Follow the steps below to configure custom client-side data aggregation.
Make sure that the remoteOperations.summary, remoteOperations.groupPaging, or remoteOperations option is not set or set to false.
Add one or several summary items to the totalItems or groupItems array. Specify their names and set summary types to "custom":
jQuery
JavaScript$(function() { $("#dataGridContainer").dxDataGrid({ // ... summary: { totalItems: [ { name: "сustomSummary1", summaryType: "custom" }, { name: "сustomSummary2", summaryType: "custom" } ] } }); });
Angular
HTMLTypeScript<dx-data-grid ... > <dxo-summary> <dxi-total-item name="сustomSummary1" summaryType="custom"> </dxi-total-item> <dxi-total-item name="сustomSummary2" summaryType="custom"> </dxi-total-item> </dxo-summary> </dx-data-grid>
import { DxDataGridModule } from "devextreme-angular"; // ... export class AppComponent { // ... } @NgModule({ imports: [ // ... DxDataGridModule ], // ... })
Implement the calculateCustomSummary function as detailed in its description.
See Also
Server-Side Data Aggregation
Follow the instructions below to implement custom server-side data aggregation. This implementation requires the DevExtreme.AspNet.Data library.
Set the remoteOperations.summary, remoteOperations.groupPaging, or remoteOperations option to true.
Implement and register a custom server-side data aggregator using DevExtreme.AspNet.Data as described in this article.
Pass the string identifier you used to register the aggregator to a summary item's summaryType option:
ASP.NET MVC Controls
Razor C#@(Html.DevExtreme().DataGrid() .RemoteOperations(true) .Summary(s => s .TotalItems(i => { i.Add().SummaryType("totalSales"); }) ) )
jQuery
JavaScript$(function() { $("#dataGridContainer").dxDataGrid({ remoteOperations: true, summary: { totalItems: [ { summaryType: "totalSales" } ] } }); });
Angular
HTMLTypeScript<dx-data-grid ... [remoteOperations]="true"> <dxo-summary> <dxi-total-item summaryType="totalSales"></dxi-total-item> </dxo-summary> </dx-data-grid>
import { DxDataGridModule } from "devextreme-angular"; // ... export class AppComponent { // ... } @NgModule({ imports: [ // ... DxDataGridModule ], // ... })
If you have technical questions, please create a support ticket in the DevExpress Support Center.
We appreciate your feedback.