ASPxPivotGrid.CustomCellStyle Event
Allows the appearances of cells to be dynamically customized.
Namespace: DevExpress.Web.ASPxPivotGrid
Assembly: DevExpress.Web.ASPxPivotGrid.v24.1.dll
NuGet Package: DevExpress.Web
Declaration
Event Data
The CustomCellStyle event's data class is PivotCustomCellStyleEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
CellStyle | Gets the style settings used to paint the processed cell. |
ColumnCustomTotal | Gets the column custom total which displays the current cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
ColumnField | Gets the innermost column field which corresponds to the processed cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
ColumnFieldIndex | For internal use. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
ColumnIndex | Gets the visual index of the column that contains the processed cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
ColumnValueType | Gets the type of column which contains the processed cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
DataField | Gets the data field which identifies the column where the processed cell resides. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
RowCustomTotal | Gets the row custom total which contains the current cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
RowField | Gets the innermost row field that corresponds to the processed cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
RowFieldIndex | For internal use. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
RowIndex | Gets the index of the row that contains the processed cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
RowValueType | Gets the type of row that contains the processed cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
SummaryType | Gets the summary type of the currently processed value. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
SummaryValue | Gets the summary value currently being processed. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
Value | Gets the processed cell’s value. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
The event data class exposes the following methods:
Method | Description |
---|---|
CreateDrillDownDataSource() | Returns data records used to calculate a summary value for the cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
CreateDrillDownDataSource(List<String>) | Returns data records used to calculate a summary value for the current cell. Allows you to specify the columns to return. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
CreateDrillDownDataSource(Int32, List<String>) | Returns data 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 PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
CreateDrillDownDataSource(Int32) | Returns data 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 PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
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 PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
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 PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
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 PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
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 PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
CreateSummaryDataSource() | Returns a summary data source. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetAbsoluteColumnIndex(Int32) | Returns the column’s absolute index by its visible index within the current page. Inherited from PivotCellBaseEventArgs. |
GetAbsoluteRowIndex(Int32) | Returns the row’s absolute index by its visible index within the current page. Inherited from PivotCellBaseEventArgs. |
GetCellValue(TField) | Returns a cell value calculated against the specified data field. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetCellValue(Int32, Int32) | Returns a cell value by the column and row indexes. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetCellValue(Object[], Object[], TField) | Returns a cell value calculated for the specified column and row field values, against the specified data field. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetColumnFields() | Returns an array of column fields that correspond to the current cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetColumnGrandTotal(TField) | Returns a Column Grand Total value calculated for the current row field values, against the specified data field. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetColumnGrandTotal(Object[], TField) | Returns a Column Grand Total value calculated for the specified row field values, against the specified data field. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetFieldValue(TField, 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 PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetFieldValue(TField) | Returns the value of the specified column or row field that identifies the column/row in which the processed cell resides. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetGrandTotal(TField) | Gets the Grand Total value for the specified field. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetNextColumnCellValue(TField) | Returns the value of the cell in the same row but in the next column. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetNextRowCellValue(TField) | Returns the value of the cell in the next row. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetPrevColumnCellValue(TField) | Returns the value of the cell in the same row but in the previous column. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetPrevRowCellValue(TField) | Returns the value of the cell in the previous row. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetRowFields() | Returns an array of the row fields that correspond to the current cell. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetRowGrandTotal(TField) | Returns a Row Grand Total value calculated for the current column field values, against the specified data field. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
GetRowGrandTotal(Object[], TField) | Returns a Row Grand Total value calculated for the specified column field values, against the specified data field. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
IsFieldValueExpanded(TField) | Indicates whether the specified field’s value that represents the row or column header of the processed cell is expanded. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
IsFieldValueRetrievable(TField) | Gets whether the value of the specified column or row field can be retrieved for the current cell by the PivotCellEventArgsBase<TField, TData, TCustomTotal>.GetFieldValue method. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
IsOthersFieldValue(TField) | Indicates whether the processed data cell resides within the “Others” row/column when the Top X Value feature is enabled. Inherited from PivotCellEventArgsBase<TField, TData, TCustomTotal>. |
Remarks
The CustomCellStyle event fires for each ASPxPivotGridControl’s cell and allows you to customize the appearance of cells dynamically (depending on their contents, position, values of other cells, etc). Use the event’s parameters to identify the processed cell.
PivotGrid allows obtaining a field’s value both for hidden and visible fields. ASPxPivotGrid does not aggregate data by hidden fields. You need to get a value from the underlying data source records corresponding to a processed cell. Use the PivotCellEventArgsBase<TField, TData, TCustomTotal>.CreateDrillDownDataSource method to obtain hidden field’s values. To get a visible field’s value, use the PivotCellEventArgsBase<TField, TData, TCustomTotal>.GetCellValue method.
Example
In this example, the ASPxPivotGrid.CustomCellStyle
event is handled to specify custom style settings of individual summary cells displayed within odd rows. The PivotFieldValueStyle.TopAlignedRowValues property aligns field values to the top edge of their cells.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CellAppearanceCustomization.DefaultForm" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table class="OptionsTable BottomMargin">
<tr>
<td>
<dx:ASPxCheckBox ID="cbApplyCustomCellAppearance" runat="server" AutoPostBack="True" Text="Apply Custom Cell Appearance" />
</td>
<td>
<dx:ASPxCheckBox ID="cbTopAlignRowFieldValues" runat="server" AutoPostBack="True" Text="Top Align Row Field Values"
OnCheckedChanged="cbTopAlignRowFieldValues_CheckedChanged" />
</td>
</tr>
</table>
<dx:ASPxPivotGrid ID="pivotGrid" runat="server" CssClass="dxpgControl" ClientInstanceName="pivotGrid"
DataSourceID="CustomerReportDataSource" OnCustomCellStyle="ASPxPivotGrid1_CustomCellStyle"
Width="100%" Height="116px">
<Fields>
<dx:PivotGridField Area="RowArea" AreaIndex="0" Caption="Customer" FieldName="CompanyName"
ID="fieldCompanyName" UnboundFieldName="" />
<dx:PivotGridField Area="ColumnArea" AreaIndex="0" Caption="Year" FieldName="OrderDate"
ID="fieldOrderDate" GroupInterval="DateYear" UnboundFieldName="UnboundColumn1" />
<dx:PivotGridField Area="DataArea" AreaIndex="0" Caption="Product Amount" FieldName="ProductAmount"
ID="fieldProductAmount" UnboundFieldName="" />
<dx:PivotGridField Area="RowArea" AreaIndex="1" Caption="Products" FieldName="ProductName"
ID="fieldProductName" UnboundFieldName="" />
</Fields>
<OptionsView HorizontalScrollBarMode="Auto" />
<OptionsLoadingPanel Text="Loading&hellip;" />
<OptionsData DataProcessingEngine="LegacyOptimized" />
<OptionsFilter NativeCheckBoxes="False" />
</dx:ASPxPivotGrid>
<asp:AccessDataSource ID="CustomerReportDataSource" runat="server" DataFile="~/App_Data/nwind.mdb"
SelectCommand="SELECT * FROM [CustomerReports]"></asp:AccessDataSource>
</div>
</form>
</body>
</html>
using System;
using DevExpress.XtraPivotGrid;
using System.Drawing;
namespace CellAppearanceCustomization {
public partial class DefaultForm : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
}
protected void ASPxPivotGrid1_CustomCellStyle(object sender, DevExpress.Web.ASPxPivotGrid.PivotCustomCellStyleEventArgs e) {
if(!cbApplyCustomCellAppearance.Checked) return;
if(e.RowIndex % 2 == 0) return;
if(e.ColumnValueType == PivotGridValueType.Value && e.RowValueType == PivotGridValueType.Value)
e.CellStyle.BackColor = Color.FromArgb(240, 240, 240);
if(e.ColumnValueType == PivotGridValueType.Total || e.RowValueType == PivotGridValueType.Total)
e.CellStyle.BackColor = Color.FromArgb(213, 227, 230);
if(e.ColumnValueType == PivotGridValueType.GrandTotal || e.RowValueType == PivotGridValueType.GrandTotal)
e.CellStyle.BackColor = Color.FromArgb(187, 211, 215);
}
protected void cbTopAlignRowFieldValues_CheckedChanged(object sender, EventArgs e) {
pivotGrid.Styles.FieldValueStyle.TopAlignedRowValues = cbTopAlignRowFieldValues.Checked;
}
}
}