corelibraries-devexpress-dot-xtrapivotgrid-dot-pivotcelleventargsbase-3-dot-getcellvalue-x28-system-dot-int32-system-dot-int32-x29.md
Returns a cell value by the column and row indexes.
Namespace : DevExpress.XtraPivotGrid
Assembly : DevExpress.PivotGrid.v25.2.Core.dll
NuGet Packages : DevExpress.PivotGrid.Core, DevExpress.Win.Navigation
public object GetCellValue(
int columnIndex,
int rowIndex
)
Public Function GetCellValue(
columnIndex As Integer,
rowIndex As Integer
) As Object
| Name | Type | Description |
|---|---|---|
| columnIndex | Int32 |
A zero-based integer that identifies the visible index of the column.
| | rowIndex | Int32 |
A zero-based integer that identifies the visible index of the row.
|
| Type | Description |
|---|---|
| Object |
A value displayed in the specified cell.
|
The e.ColumnIndex and e.RowIndex properties allow you to identify the processed cell.
Note
Note that the GetCellValue method returns values calculated based on the data source data and ignores custom cell values suppled with the CustomCellValue event. Use the e.Value property to obtain a custom cell value.
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.
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;
}
Private Sub pivotGridControl1_CustomCellValue(ByVal sender As Object, ByVal e As PivotCellValueEventArgs) Handles pivotGridControl1.CustomCellValue
' Calculates the 'Percent' field values.
If e.DataField.Name = "PercentOfBeverages" Then
' Do not display grand total values.
If e.RowValueType = PivotGridValueType.GrandTotal Then
e.Value = Nothing
Return
End If
Dim rowValues = e.GetRowFields().Select(Function(f) If(f Is fieldCategoryName, "Beverages", e.GetFieldValue(f))).ToArray()
Dim columnValues = e.GetColumnFields().Select(Function(f) If(f Is fieldCategoryName, "Beverages", e.GetFieldValue(f))).ToArray()
Dim beveragesValue As Decimal = Convert.ToDecimal(e.GetCellValue(columnValues, rowValues, e.DataField))
If beveragesValue = 0 Then
e.Value = Nothing
Else
e.Value = Convert.ToDecimal(e.Value) / beveragesValue
End If
Else
Return
End If
See Also
PivotCellEventArgsBase<TField, TData, TCustomTotal> Class