Allows the appearances of cells to be dynamically customized.
Namespace:DevExpress.Web.ASPxPivotGrid
Assembly:DevExpress.Web.ASPxPivotGrid.v18.1.dll

Syntax
C# |
public event PivotCustomCellStyleEventHandler CustomCellStyle
|
VB |
event Public CustomCellStyle As PivotCustomCellStyleEventHandler
|

Event Data
The event handler receives an argument of type PivotCustomCellStyleEventArgs containing data related to this event.
The following
PivotCustomCellStyleEventArgs properties provide information specific to this event.
Property |
Description |
CellItem |
For internal use.
|
CellStyle |
Gets the style settings used to paint the processed cell.
|
ColumnCustomTotal |
Gets the column custom total which displays the current cell.
|
ColumnField |
Gets the innermost column field which corresponds to the processed cell.
|
ColumnFieldIndex |
For internal use.
|
ColumnIndex |
Gets the visual index of the column that contains the processed cell.
|
ColumnValueType |
Gets the type of column which contains the processed cell.
|
Data |
For internal use.
|
DataField |
Gets the data field which identifies the column where the processed cell resides.
|
Item |
For internal use.
|
RowCustomTotal |
Gets the row custom total which contains the current cell.
|
RowField |
Gets the innermost row field which corresponds to the processed cell.
|
RowFieldIndex |
For internal use.
|
RowIndex |
Gets the index of the row that contains the processed cell.
|
RowValueType |
Gets the type of row which contains the processed cell.
|
SummaryType |
Gets the summary type of the currently processed value.
|
SummaryValue |
Gets the summary value currently being processed.
|
Value |
Gets the processed cell's value.
|

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.

Example
In this example, the
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.
C#:Default.aspx.cs |
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;
}
}
}
|
VB:Default.aspx.vb |
Imports System
Imports DevExpress.XtraPivotGrid
Imports System.Drawing
Namespace CellAppearanceCustomization
Partial Public Class DefaultForm
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
End Sub
Protected Sub ASPxPivotGrid1_CustomCellStyle(ByVal sender As Object, ByVal e As DevExpress.Web.ASPxPivotGrid.PivotCustomCellStyleEventArgs)
If Not cbApplyCustomCellAppearance.Checked Then
Return
End If
If e.RowIndex Mod 2 = 0 Then
Return
End If
If e.ColumnValueType = PivotGridValueType.Value AndAlso e.RowValueType = PivotGridValueType.Value Then
e.CellStyle.BackColor = Color.FromArgb(240, 240, 240)
End If
If e.ColumnValueType = PivotGridValueType.Total OrElse e.RowValueType = PivotGridValueType.Total Then
e.CellStyle.BackColor = Color.FromArgb(213, 227, 230)
End If
If e.ColumnValueType = PivotGridValueType.GrandTotal OrElse e.RowValueType = PivotGridValueType.GrandTotal Then
e.CellStyle.BackColor = Color.FromArgb(187, 211, 215)
End If
End Sub
Protected Sub cbTopAlignRowFieldValues_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
pivotGrid.Styles.FieldValueStyle.TopAlignedRowValues = cbTopAlignRowFieldValues.Checked
End Sub
End Class
End Namespace
|
ASP.NET:Default.aspx |
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CellAppearanceCustomization.DefaultForm" %>
<%@ Register Assembly="DevExpress.Web.ASPxPivotGrid.v17.2, Version=17.2.0.0, Culture=neutral, PublicKeyToken=79868b8147b5eae4"
Namespace="DevExpress.Web.ASPxPivotGrid" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.v17.2, Version=17.2.0.0, Culture=neutral, PublicKeyToken=79868b8147b5eae4"
Namespace="DevExpress.Web" TagPrefix="dx" %>
<!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>
|

See Also