The Pivot Grid allows custom text to be displayed within individual data cells. To do this, handle the ASPxPivotGrid.CustomCellDisplayText event. This event is fired for each cell in bound and unbound fields.
Each data cell displays a summary value calculated against Data Field. This data field is returned by the event parameter’s PivotCellEventArgsBase<TField, TData, TCustomTotal>.DataField property. The cell’s current value is returned by the event parameter’s PivotCellEventArgsBase<TField, TData, TCustomTotal>.Value property.
To change the cell’s display text, use the PivotCellDisplayTextEventArgs.DisplayText property. Initially, this property contains the text currently displayed within a cell. To provide a custom text, assign it to the PivotCellDisplayTextEventArgs.DisplayText property.
The following example shows how to provide custom text for the ASPxPivotGrid’s cells by handling the ASPxPivotGrid.CustomCellDisplayText event.
In this example, if a Grand Total value is less than 50 000, ASPxPivotGrid displays the Low value instead. If the value exceeds 100 000, High is displayed; otherwise, Middle.
using System;
using System.Web.UI;
using DevExpress.Web.ASPxPivotGrid;
using DevExpress.XtraPivotGrid;
namespace FormattingViaEvents {
public partial class _Default : Page {
protected void Page_Load(object sender, EventArgs e) {
}
protected void CustomCellDisplayText(object sender, PivotCellDisplayTextEventArgs e) {
if (e.RowValueType != PivotGridValueType.GrandTotal ||
e.ColumnValueType == PivotGridValueType.GrandTotal) return;
if (Convert.ToSingle(e.Value) < 50000)
e.DisplayText = "Low";
else if (Convert.ToSingle(e.Value) > 100000)
e.DisplayText = "High";
else
e.DisplayText = "Middle";
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="FormattingViaEvents._Default" %>
<%@ Register Assembly="DevExpress.Web.ASPxPivotGrid.v9.3, Version=9.3.1.0,
Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web.ASPxPivotGrid"
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>
<dx:ASPxPivotGrid ID="ASPxPivotGrid1" runat="server" DataSourceID="AccessDataSource1"
OnCustomCellDisplayText="CustomCellDisplayText">
<Fields>
<dx:PivotGridField ID="fieldProductName" Area="RowArea"
AreaIndex="0" FieldName="ProductName">
</dx:PivotGridField>
<dx:PivotGridField ID="fieldExtendedPrice" Area="DataArea"
AreaIndex="0" FieldName="ExtendedPrice">
</dx:PivotGridField>
<dx:PivotGridField ID="fieldCountry" Area="ColumnArea"
AreaIndex="0" FieldName="Country">
</dx:PivotGridField>
</Fields>
</dx:ASPxPivotGrid>
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/nwind.mdb"
SelectCommand="SELECT [ProductName], [ExtendedPrice], [Country] FROM [Invoices]">
</asp:AccessDataSource>
</div>
</form>
</body>
</html>
<%@ Page Language="vb" AutoEventWireup="true" CodeBehind="Default.aspx.vb"
Inherits="FormattingViaEvents._Default" %>
<%@ Register Assembly="DevExpress.Web.ASPxPivotGrid.v9.3, Version=9.3.1.0,
Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web.ASPxPivotGrid"
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>
<dx:ASPxPivotGrid ID="ASPxPivotGrid1" runat="server" DataSourceID="AccessDataSource1"
OnCustomCellDisplayText="CustomCellDisplayText">
<Fields>
<dx:PivotGridField ID="fieldProductName" Area="RowArea"
AreaIndex="0" FieldName="ProductName">
</dx:PivotGridField>
<dx:PivotGridField ID="fieldExtendedPrice" Area="DataArea"
AreaIndex="0" FieldName="ExtendedPrice">
</dx:PivotGridField>
<dx:PivotGridField ID="fieldCountry" Area="ColumnArea"
AreaIndex="0" FieldName="Country">
</dx:PivotGridField>
</Fields>
</dx:ASPxPivotGrid>
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/nwind.mdb"
SelectCommand="SELECT [ProductName], [ExtendedPrice], [Country] FROM [Invoices]">
</asp:AccessDataSource>
</div>
</form>
</body>
</html>
Imports Microsoft.VisualBasic
Imports System
Imports System.Web.UI
Imports DevExpress.Web.ASPxPivotGrid
Imports DevExpress.XtraPivotGrid
Namespace FormattingViaEvents
Partial Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
End Sub
Protected Sub CustomCellDisplayText(ByVal sender As Object, _
ByVal e As PivotCellDisplayTextEventArgs)
If e.RowValueType <> PivotGridValueType.GrandTotal OrElse _
e.ColumnValueType = PivotGridValueType.GrandTotal Then
Return
End If
If Convert.ToSingle(e.Value) < 50000 Then
e.DisplayText = "Low"
ElseIf Convert.ToSingle(e.Value) > 100000 Then
e.DisplayText = "High"
Else
e.DisplayText = "Middle"
End If
End Sub
End Class
End Namespace