Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Expand]DevExpress.Snap
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Extensions.UI
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Expand]DevExpress.XtraBars
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Expand]DevExpress.XtraEditors.Repository
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Collapse]DevExpress.XtraGrid.Views.Grid
   [Expand]CalcPreviewTextEventArgs Class
    CalcPreviewTextEventHandler Delegate
   [Expand]CellMergeEventArgs Class
    CellMergeEventHandler Delegate
   [Expand]ClipboardRowPastingEventArgs Class
   [Expand]ColumnHeaderCustomDrawEventArgs Class
    ColumnHeaderCustomDrawEventHandler Delegate
   [Expand]CustomFilterDialogEventArgs Class
    CustomFilterDialogEventHandler Delegate
   [Expand]CustomMasterRowEventArgs Class
    CustomMasterRowEventHandler Delegate
   [Expand]CustomRowCellEditEventArgs Class
    CustomRowCellEditEventHandler Delegate
    DetailExpandButtonMode Enumeration
    DrawFocusRectStyle Enumeration
    EditFormBindingMode Enumeration
    EditFormModifiedAction Enumeration
   [Expand]EditFormPreparedEventArgs Class
    EditFormPreparedEventHandler Delegate
   [Expand]EditFormShowingEventArgs Class
    EditFormShowingEventHandler Delegate
   [Expand]EditFormUserControl Class
   [Expand]EditFormValidateEditorEventArgs Class
   [Expand]FilterItem Class
   [Expand]FilterPopupCheckedListBoxEventArgs Class
    FilterPopupCheckedListBoxEventHandler Delegate
   [Expand]FilterPopupDateEventArgs Class
    FilterPopupDateEventHandler Delegate
   [Expand]FilterPopupEventArgs Class
   [Expand]FilterPopupExcelDataEventArgs Class
    FilterPopupExcelDataEventHandler Delegate
   [Expand]FilterPopupExcelEventArgs Class
    FilterPopupExcelEventHandler Delegate
   [Expand]FilterPopupListBoxEventArgs Class
    FilterPopupListBoxEventHandler Delegate
   [Expand]FooterCellCustomDrawEventArgs Class
    FooterCellCustomDrawEventHandler Delegate
    GridEditingMode Enumeration
   [Expand]GridMenuEventArgs Class
    GridMenuEventHandler Delegate
   [Expand]GridMenuItemClickEventArgs Class
    GridMenuItemClickEventHandler Delegate
    GridMenuType Enumeration
    GridMultiSelectMode Enumeration
   [Expand]GridOptionsBehavior Class
   [Expand]GridOptionsClipboard Class
   [Expand]GridOptionsCustomization Class
   [Expand]GridOptionsDetail Class
   [Expand]GridOptionsEditForm Class
   [Expand]GridOptionsFilter Class
   [Expand]GridOptionsHint Class
   [Expand]GridOptionsMenu Class
   [Expand]GridOptionsNavigation Class
   [Expand]GridOptionsPrint Class
   [Expand]GridOptionsSelection Class
   [Expand]GridOptionsView Class
    GridState Enumeration
   [Collapse]GridView Class
     GridView Members
    [Expand]GridView Constructor
    [Expand]GridView Properties
    [Collapse]GridView Events
      AfterPrintRow Event
      BeforePrintRow Event
      CalcPreviewText Event
      CalcRowHeight Event
      CellMerge Event
      ClipboardRowPasting Event
      ColumnWidthChanged Event
      CustomColumnGroup Event
      CustomDrawCell Event
      CustomDrawColumnHeader Event
      CustomDrawFooter Event
      CustomDrawFooterCell Event
      CustomDrawGroupPanel Event
      CustomDrawGroupRow Event
      CustomDrawGroupRowCell Event
      CustomDrawRowFooter Event
      CustomDrawRowFooterCell Event
      CustomDrawRowIndicator Event
      CustomDrawRowPreview Event
      CustomRowCellEdit Event
      CustomRowCellEditForEditing Event
      CustomSummaryCalculate Event
      CustomSummaryExists Event
      DragObjectDrop Event
      DragObjectOver Event
      DragObjectStart Event
      EditFormPrepared Event
      EditFormShowing Event
      GetLoadingImage Event
      GetThumbnailImage Event
      GridMenuItemClick Event
      GroupLevelStyle Event
      GroupRowCollapsed Event
      GroupRowCollapsing Event
      GroupRowExpanded Event
      GroupRowExpanding Event
      HideCustomizationForm Event
      LeftCoordChanged Event
      MasterRowCollapsed Event
      MasterRowCollapsing Event
      MasterRowEmpty Event
      MasterRowExpanded Event
      MasterRowExpanding Event
      MasterRowGetChildList Event
      MasterRowGetLevelDefaultView Event
      MasterRowGetRelationCount Event
      MasterRowGetRelationDisplayCaption Event
      MasterRowGetRelationName Event
      MeasurePreviewHeight Event
      PopupMenuShowing Event
      RowCellClick Event
      RowCellStyle Event
      RowClick Event
      RowStyle Event
      ShowCustomizationForm Event
      ShowGridMenu Event
      ShowingPopupEditForm Event
      TopRowChanged Event
    [Expand]GridView Methods
   [Expand]GridViewAppearances Class
   [Expand]GridViewOptionsFind Class
   [Expand]GridViewPrintAppearances Class
    GroupDrawMode Enumeration
    GroupFooterShowMode Enumeration
   [Expand]GroupLevelStyleEventArgs Class
    GroupLevelStyleEventHandler Delegate
   [Expand]InitNewRowEventArgs Class
    InitNewRowEventHandler Delegate
   [Expand]MasterRowCanExpandEventArgs Class
    MasterRowCanExpandEventHandler Delegate
   [Expand]MasterRowEmptyEventArgs Class
    MasterRowEmptyEventHandler Delegate
   [Expand]MasterRowGetChildListEventArgs Class
    MasterRowGetChildListEventHandler Delegate
   [Expand]MasterRowGetLevelDefaultViewEventArgs Class
    MasterRowGetLevelDefaultViewEventHandler Delegate
   [Expand]MasterRowGetRelationCountEventArgs Class
    MasterRowGetRelationCountEventHandler Delegate
   [Expand]MasterRowGetRelationNameEventArgs Class
    MasterRowGetRelationNameEventHandler Delegate
    NewItemRowPosition Enumeration
   [Expand]PopupMenuShowingEventArgs Class
    PopupMenuShowingEventHandler Delegate
   [Expand]RowCellClickEventArgs Class
    RowCellClickEventHandler Delegate
   [Expand]RowCellStyleEventArgs Class
    RowCellStyleEventHandler Delegate
   [Expand]RowClickEventArgs Class
    RowClickEventHandler Delegate
   [Expand]RowHeightEventArgs Class
    RowHeightEventHandler Delegate
   [Expand]RowIndicatorCustomDrawEventArgs Class
    RowIndicatorCustomDrawEventHandler Delegate
   [Expand]RowStyleEventArgs Class
    RowStyleEventHandler Delegate
    RowVisibleState Enumeration
    ScrollStyleFlags Enumeration
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Expand]DevExpress.XtraPdfViewer
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Localization
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Expand]DevExpress.XtraTreeList
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

GridView.CustomSummaryCalculate Event

Enables you to calculate summary values manually.

Namespace:DevExpress.XtraGrid.Views.Grid
Assembly:DevExpress.XtraGrid.v17.2.dll

Expanded Syntax

Expanded Event Data

The event handler receives an argument of type CustomSummaryEventArgs containing data related to this event.

The following CustomSummaryEventArgs properties provide information specific to this event.
Property Description
FieldValue Gets the processed field value.
GroupLevel Gets the nested level of the group whose summary value is being calculated.
GroupRowHandle Gets a value identifying the group row whose child data rows are involved in summary calculation.
IsGroupSummary Gets whether a group summary value is being calculated.
IsTotalSummary Gets whether a total summary value is being calculated.
Item Gets a summary item whose value is being calculated.
Row Gets the currently processed row.
RowHandle Gets the handle of the processed row.
SummaryProcess Gets a value indicating calculation stage.
TotalValue Gets or sets the total summary value.
TotalValueReady Gets or sets whether the Calculation stage of the custom summary calculation process should be skipped.

Expanded Remarks

Total summaries and group summaries provide five predefined aggregate functions. These functions allow you to calculate the number of rows, the maximum and minimum values, the sum and the average value. If you need to calculate a summary value using an aggregate function not included in the predefined set, set the summary item's GridSummaryItem.SummaryType property to DevExpress.Data.SummaryItemType.Custom and handle the CustomSummaryCalculate event.

The CustomSummaryCalculate event fires for each row involved in summary calculation. When calculating a total summary value, the event is raised for each data row. When calculating a group summary value, the event fires for each data row within the currently processed group. Additionally, the event is raised before and after processing rows. This can be used to perform any needed initialization and finalization.

Generally, the process of calculating custom summary values can be described using the following sequence of steps:

Note

Custom summaries are not supported in server mode.

Refer to the Working with Summaries in Code topic for additional information.

Expanded Example

This example illustrates how to utilize values from multiple grid column summary fields to calculate a value for a custom summary item.

The sample grid control contains two numeric columns. The first column has only one summary item. To set a single summary item for a column, use the GridColumn.SummaryItem property.

The second column has more than one summary item. For such columns, use the GridColumn.Summary collection instead of the GridColumn.SummaryItem property.

The code above adds three summary fields. Two of them are auto-calculated and display the maximum column value and total records count. The last summary item has its SummaryItemType property set to Custom. Custom summaries receive their values on the CustomSummaryCalculate event. The code below illustrates how to handle this event to retrieve auto-calculated summary values. Based on these values, the value for the custom summary field is calculated.

Complete example code is shown below.

Expanded See Also

How would you rate this topic?​​​​​​​