Back to Devexpress

PivotGridControl.CustomCellValue Event

wpf-devexpress-dot-xpf-dot-pivotgrid-dot-pivotgridcontrol-68fb227e.md

latest23.1 KB
Original Source

PivotGridControl.CustomCellValue Event

Allows you to replace cell values with values calculated in the event handler.

Namespace : DevExpress.Xpf.PivotGrid

Assembly : DevExpress.Xpf.PivotGrid.v25.2.dll

NuGet Package : DevExpress.Wpf.PivotGrid

Declaration

csharp
public event PivotCellValueEventHandler CustomCellValue
vb
Public Event CustomCellValue As PivotCellValueEventHandler

Event Data

The CustomCellValue event's data class is PivotCellValueEventArgs. The following properties provide information specific to this event:

PropertyDescription
ColumnCustomTotalGets the custom total to which the processed cell’s column corresponds. Inherited from PivotCellBaseEventArgs.
ColumnFieldGets the innermost column field which corresponds to the processed cell. Inherited from PivotCellBaseEventArgs.
ColumnFieldIndexThis member supports the internal infrastructure and is not intended to be used directly from your code. Inherited from PivotCellBaseEventArgs.
ColumnIndexGets the visual index of the column that contains the processed cell. Inherited from PivotCellBaseEventArgs.
ColumnValueTypeGets the type of the cell’s column header. Inherited from PivotCellBaseEventArgs.
DataFieldGets the data field which identifies the column where the processed cell resides. Inherited from PivotCellBaseEventArgs.
DisplayTextGets the display text of the cell currently being processed. Inherited from PivotCellBaseEventArgs.
FocusedGets whether the processed cell is the focused cell. Inherited from PivotCellBaseEventArgs.
HandledGets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs.
OriginalSourceGets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
RoutedEventGets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
RowCustomTotalGets the custom total to which the processed cell’s row corresponds. Inherited from PivotCellBaseEventArgs.
RowFieldGets the innermost row field which corresponds to the processed cell. Inherited from PivotCellBaseEventArgs.
RowFieldIndexThis member supports the internal infrastructure and is not intended to be used directly from your code. Inherited from PivotCellBaseEventArgs.
RowIndexGets the visual index of the row that contains the processed cell. Inherited from PivotCellBaseEventArgs.
RowValueTypeGets the type of the cell’s row header. Inherited from PivotCellBaseEventArgs.
SelectedGets whether the processed cell is selected. Inherited from PivotCellBaseEventArgs.
SourceGets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.
SummaryTypeGets the type of summary calculated in the current cell. Inherited from PivotCellBaseEventArgs.
SummaryValueGets the summary value currently being processed. Inherited from PivotCellBaseEventArgs.
ValueGets or sets the processed cell’s value.

The event data class exposes the following methods:

MethodDescription
CreateDrillDownDataSource()Returns a list of records used to calculate a value for the current cell. Inherited from PivotCellBaseEventArgs.
CreateDrillDownDataSource(List<String>)Returns a list of records used to calculate a summary value for the current cell. Allows you to specify the columns to return. Inherited from PivotCellBaseEventArgs.
CreateDrillDownDataSource(Int32, List<String>)Returns a list of records used to calculate a summary value for the current cell. Allows you to specify the columns and limit the number of records to return. Inherited from PivotCellBaseEventArgs.
CreateOlapDrillDownDataSource(List<String>)Obsolete. In OLAP mode, returns a list of records used to calculate a summary value for the current cell. Allows you to specify the columns to be returned. Inherited from PivotCellBaseEventArgs.
CreateOlapDrillDownDataSource(Int32, List<String>)Obsolete. In OLAP mode, returns a list of records used to calculate a summary value for the current cell. Allows you to specify the columns and limit the number of records to be returned. Inherited from PivotCellBaseEventArgs.
CreateServerModeDrillDownDataSource(List<String>)Obsolete. In server mode, returns a list of records used to calculate a summary value for the current cell. Allows you to specify the columns to be returned. Inherited from PivotCellBaseEventArgs.
CreateServerModeDrillDownDataSource(Int32, List<String>)Obsolete. In server mode, returns a list of records used to calculate a summary value for the current cell. Allows you to specify the columns and limit the number of records to be returned. Inherited from PivotCellBaseEventArgs.
CreateSummaryDataSource()Returns a summary data source. Inherited from PivotCellBaseEventArgs.
GetCellValue(PivotGridField)Returns a cell value calculated for the current column and row field values, against the specified data field. Inherited from PivotCellBaseEventArgs.
GetCellValue(Int32, Int32)Returns a cell value by the column and row indexes. Inherited from PivotCellBaseEventArgs.
GetCellValue(Object[], Object[], PivotGridField)Returns a cell value calculated for the specified column and row field values, against the specified data field. Inherited from PivotCellBaseEventArgs.
GetColumnFields()Returns an array of column fields which correspond to the processed cell. Inherited from PivotCellBaseEventArgs.
GetColumnGrandTotal(PivotGridField)Returns a Column Grand Total value calculated for the current row field values, against the specified data field. Inherited from PivotCellBaseEventArgs.
GetColumnGrandTotal(Object[], PivotGridField)Returns a Column Grand Total value calculated for the specified row field values, against the specified data field. Inherited from PivotCellBaseEventArgs.
GetFieldValue(PivotGridField, Int32)Returns the specified column or row field’s value for the cell, addressed by its zero-based index in the Data Area. Inherited from PivotCellBaseEventArgs.
GetFieldValue(PivotGridField)Returns the value of the specified column or row field which identifies the column/row in which the processed cell resides. Inherited from PivotCellBaseEventArgs.
GetGrandTotal(PivotGridField)Gets the Grand Total for the specified field. Inherited from PivotCellBaseEventArgs.
GetNextColumnCellValue(PivotGridField)Returns the value of the cell in the same row but in the next column. Inherited from PivotCellBaseEventArgs.
GetNextRowCellValue(PivotGridField)Returns the value of the cell in the next row. Inherited from PivotCellBaseEventArgs.
GetPrevColumnCellValue(PivotGridField)Returns the value of the cell in the same row, but in the previous column. Inherited from PivotCellBaseEventArgs.
GetPrevRowCellValue(PivotGridField)Returns the value of the cell in the previous row. Inherited from PivotCellBaseEventArgs.
GetRowFields()Returns an array of row fields that correspond to the processed cell. Inherited from PivotCellBaseEventArgs.
GetRowGrandTotal(PivotGridField)Returns a Row Grand Total value calculated for the current column field values, against the specified data field. Inherited from PivotCellBaseEventArgs.
GetRowGrandTotal(Object[], PivotGridField)Returns a Row Grand Total value calculated for the specified column field values, against the specified data field. Inherited from PivotCellBaseEventArgs.
InvokeEventHandler(Delegate, Object)When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs.
IsFieldValueExpanded(PivotGridField)Indicates whether the specified field’s value that represents a row or column header of the processed cell is expanded. Inherited from PivotCellBaseEventArgs.
IsFieldValueRetrievable(PivotGridField)Gets whether the value of the specified column or row field can be retrieved for the current cell by the PivotCellBaseEventArgs.GetFieldValue method. Inherited from PivotCellBaseEventArgs.
IsOthersFieldValue(PivotGridField)Indicates whether the processed data cell resides within the “Others” row/column when the Top N Value feature is enabled. Inherited from PivotCellBaseEventArgs.
OnSetSource(Object)When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs.

Remarks

The CustomCellValue event fires after all control calculations when cell values are filtered, grouped, and sorted. Handle the event to replace the calculated cell values with custom values. You can create custom calculations in the event handler and assign the result to the e.Value property. Use the event parameter’s SummaryValue property to obtain the summary value calculated for the cell.

Use the following event parameter’s properties to obtain the fields that correspond to the processed cell:

Use the following event parameter’s properties to obtain the visual indices of the column and row that contain the cell:

You can also enable custom display text in the PivotGridControl.CustomCellDisplayText event that is raised after the CustomCellValue event.

Note

The Pivot Grid uses values from the CustomCellValue and CustomCellDisplayText events only to represent data. The control does not take these values into account when sorting, filtering, or calculating data because these operations have already completed when the events occur.

Example: Hide Column Totals

This example demonstrates how to handle the CustomCellValue event to hide the Discount field grand totals.

View Example: Pivot Grid for WPF - Hide Column Totals

cs
private void PivotGridControl1_CustomCellValue(object sender,PivotCellValueEventArgs e) {
    if (e.ColumnValueType == FieldValueType.GrandTotal
           && e.DataField == fieldDiscount)
        e.Value = null;
}
vb
Private Sub PivotGridControl1_CustomCellValue(ByVal sender As Object, ByVal e As PivotCellValueEventArgs)
    If e.ColumnValueType = FieldValueType.GrandTotal AndAlso e.DataField Is fieldDiscount Then
        e.Value = Nothing
    End If
End Sub
xaml
<dxpg:PivotGridControl DataProcessingEngine="Optimized" 
                       Name="pivotGridControl1" 
                       CustomCellValue="PivotGridControl1_CustomCellValue">
        <dxpg:PivotGridControl.Fields>
        <!-- ... -->
        <dxpg:PivotGridField Name="fieldDiscount" Area="DataArea" CellFormat="p">
            <dxpg:PivotGridField.DataBinding>
                <dxpg:DataSourceColumnBinding ColumnName="Discount"/>
            </dxpg:PivotGridField.DataBinding>
        </dxpg:PivotGridField>
        <!-- ... -->
    </dxpg:PivotGridControl.Fields>
</dxpg:PivotGridControl>

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the CustomCellValue event.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

wpf-pivotgrid-hide-column-totals/CS/HowToBindToMDB/MainWindow.xaml#L11

xml
Name="pivotGridControl1"
               CustomCellValue="PivotGridControl1_CustomCellValue">
<dxpg:PivotGridControl.Fields>

See Also

CustomCellDisplayText

PivotGridControl Class

PivotGridControl Members

DevExpress.Xpf.PivotGrid Namespace