Skip to main content

Optimized Calculation Engine

  • 3 minutes to read

The PivotGridControl can operate in Optimized mode that uses the Optimized Calculation Engine. The Optimized Calculation engine boasts new functionality and improved performance, but does not support some legacy features.

New Functionality

Set the PivotGridOptionsData.DataProcessingEngine property to DataProcessingEngine.Optimized to switch to Optimized mode:

pivotGridControl1.OptionsData.DataProcessingEngine = PivotDataProcessingEngine.Optimized;

Intermediate Level Aggregations

Intermediate Level Aggregations use the summary function to calculate values for data obtained from the first specified data source column, group data by the next specified columns, and calculate group summaries. The aggr function can be nested and you can summarize aggregated data in an expression.

Window Calculations

Window calculations use window functions to calculate data across a set of window rows related to the current row. Partitioning criteria are applied to rows to arrange them in partitions (a subset of rows in a data table).

Data Binding API

The key concept of the Data Binding API is the data binding source. The Data Binding API does not divide PivotGrid fields into bound and unbound. A field’s DataBinding property defines how the Pivot Grid field gets data. All functionality related to calculations are encapsulated into the data binding source — the DataBindingBase descendant that is assigned to the field’s DataBinding property.

The Data Binding API is in effect only in Optimized Mode. Other calculation engines ignore the DataBinding property.



Optimized Mode Restrictions


Server mode is not supported when the Pivot Grid uses the Optimized calculation because this engine calculates data on the client side.

The following API are not supported in Optimized mode. The NotSupportedException occurs in Optimized mode for unavailable values, properties, and handled events.


PivotGridControl.CustomSummary PivotGridControl.CustomSummary ASPxPivotGrid.CustomSummary
PivotGridControl.CustomGroupInterval PivotGridControl.CustomGroupInterval ASPxPivotGrid.CustomGroupInterval
PivotGridControl.CustomUnboundFieldData PivotGridControl.CustomUnboundFieldData ASPxPivotGrid.CustomUnboundFieldData
PivotGridControl.CustomFieldSort PivotGridControl.CustomFieldSort ASPxPivotGrid.CustomFieldSort

Use expressions, Aggr Functions, Window Functions instead the API listed above.


The following field’s properties are not supported:

UnboundFieldName UnboundFieldName UnboundFieldName
UnboundExpressionMode UnboundExpressionMode UnboundExpressionMode
ExpressionFieldName ExpressionFieldName ExpressionFieldName
FilterColumnName FilterColumnName FilterColumnName
PrefilterColumnName PrefilterColumnName PrefilterColumnName
RunningTotal RunningTotal RunningTotal
SummaryDisplayType SummaryDisplayType SummaryDisplayType

The following field’s properties are not supported when their value is set to Custom:

Property Value
PivotGridField.SummaryType PivotSummaryType.Custom
PivotGridField.GroupInterval PivotGroupInterval.Custom
PivotGridField.SortMode PivotSortMode.Custom

The field’s properties listed below are ignored when you use data binding API:

You can set the PivotGridFieldBase.DataBinding property to null to use them.