[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Collapse]Data Grid
   [Expand]Getting Started
   [Expand]Implementation Details
   [Expand]Grid View Data Layout
   [Expand]Binding to Data
   [Expand]Master-Detail Data Representation
   [Expand]Data Editing and Validation
   [Expand]Filtering and Searching
   [Collapse]Data Summaries
     Data Summaries Overview
     Total Summary
     Group Summary
     Node Summary
     Custom Summary
     Runtime Summary Editor
     Summary Customization
   [Expand]Paging and Scrolling
   [Expand]Focus, Navigation, Selection
   [Expand]Conditional Formatting
   [Expand]Appearance Customization
   [Expand]MVVM Enhancements
   [Expand]Printing and Exporting
   [Expand]End-User Interaction
   [Expand]Performance Improvement
   [Expand]Design-Time Features
   [Expand]Visual Elements
   [Expand]End-User Capabilities
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Expand]Diagram Control
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Data Summaries Overview

The GridControl allows you to display summary information about groups of rows or individual data columns. For example, you can display the number of records, the minimum or maximum value, etc. This summary information is called data summary.

The GridControl supports Total and Group summaries:

  • Total Summary

    An aggregate function value calculated against all rows within a View and displayed in the Summary Panel.

  • Group Summary

    An aggregate function value calculated against all rows within a group and displayed in a group row.

Table View:

Card View:

GridSummaryItem objects represent summaries (group and total). You can specify the field against whose values the summary is calculated, the aggregate function and the summary value format. Total summaries are stored in the GridControl.TotalSummary collection, and group summaries in the GridControl.GroupSummary collection.

Expanded Summary Recalculation on Data Updates

The GridControl updates its summary values after you post an edited row's changes to a data source. Call the DataViewBase.CommitEditing method in the GridViewBase.CellValueChanged event handler to update summary values each time a cell value is edited:

The GridControl does not update its summaries if you modified the control's data source directly (without using the control's UI). Set the DataControlBase.AllowLiveDataShaping property to true to make the control automatically recalculate summaries when the data source changes.

Optimized summary recalculation

The GridControl can update data summaries without recalculating them against all records. Instead, the control calculates delta values against changed records and updates summaries according to these values. As a result, the time required to update summary values does not depend on the number of records.

Set the GridControl.OptimizeSummaryCalculation property to true to enable the optimized summary calculation. The GridControl should be bound to an ObservableCollection or ChunkList<T> whose items implement the INotifyPropertyChanged and INotifyPropertyChanging interfaces. The GridControl cannot optimize the recalculation of custom summaries and summaries for unbound columns.

Expanded Concepts

Expanded Examples

Is this topic helpful?​​​​​​​