Skip to main content
A newer version of this page is available. .

PivotCellEventArgsBase<TField, TData, TCustomTotal>.GetFieldValue(TField) Method

Returns the value of the specified column or row field that identifies the column/row in which the processed cell resides.

Namespace: DevExpress.XtraPivotGrid

Assembly: DevExpress.PivotGrid.v22.1.Core.dll

NuGet Packages: DevExpress.PivotGrid.Core, DevExpress.Win.Dashboard.Design

Declaration

public object GetFieldValue(
    TField field
)

Parameters

Name Type Description
field TField

A T object that identifies the field whose value is returned.

Returns

Type Description
Object

The field value.

Remarks

Example

This example calculates percentage based on the Beverages row value for each column. The Pivot Grid handles the PivotGridControl.CustomCellValue event to display a calculated percentage value in the cell that belongs to the % of Beverages Sales column. The grand total values are hidden.

Percent of beverages Sales

View Example

private void pivotGridControl1_CustomCellValue(object sender, PivotCellValueEventArgs e) {
    // Calculates the 'Percent' field values.
    if (e.DataField.Name == "PercentOfBeverages") {
        // Hides grand total values.
        if (e.RowValueType == PivotGridValueType.GrandTotal) {
            e.Value = null;
            return;
        }
        var rowValues = e.GetRowFields().Select(f => 
            f == fieldCategoryName ? "Beverages" : e.GetFieldValue(f)).ToArray();
        var columnValues = e.GetColumnFields().Select(f => 
            f == fieldCategoryName ? "Beverages" : e.GetFieldValue(f)).ToArray();
        decimal beveragesValue = Convert.ToDecimal(e.GetCellValue(columnValues, rowValues, e.DataField));
        if (beveragesValue == 0)
            e.Value = null;
        else
            e.Value = Convert.ToDecimal(e.Value) / beveragesValue;
    }
    else return;
}
See Also