aspnet-devexpress-dot-web-dot-aspxpivotgrid-e404028e.md
A method that will handle the ASPxPivotGrid.CustomChartDataSourceData event.
Namespace : DevExpress.Web.ASPxPivotGrid
Assembly : DevExpress.Web.ASPxPivotGrid.v25.2.dll
NuGet Package : DevExpress.Web
public delegate void PivotCustomChartDataSourceDataEventHandler(
object sender,
PivotCustomChartDataSourceDataEventArgs e
);
Public Delegate Sub PivotCustomChartDataSourceDataEventHandler(
sender As Object,
e As PivotCustomChartDataSourceDataEventArgs
)
| Name | Type | Description |
|---|---|---|
| sender | Object |
The event source. This parameter identifies the pivot grid which raised the event.
| | e | PivotCustomChartDataSourceDataEventArgs |
A PivotCustomChartDataSourceDataEventArgs object that contains event data.
|
The following example demonstrates how to add custom text to data prepared by the ASPxPivotGrid, to display it in a WebChartControl.
For this, it is necessary to handle the ASPxPivotGrid.CustomChartDataSourceData event. In this event handler, you can determine the item type via the PivotCustomChartDataSourceDataEventArgs.ItemType property and change the PivotCustomChartDataSourceDataEventArgs.Value according to your custom requirements.
private void pivotGridControl1_CustomChartDataSourceData(object sender,
PivotCustomChartDataSourceDataEventArgs e) {
if(e.ItemType == PivotChartItemType.RowItem) {
if(e.FieldValueInfo.Field == fieldCategoryName) {
e.Value = CategoryEncodeTable[e.FieldValueInfo.Value.ToString()];
} else if(e.FieldValueInfo.Field == fieldProductName) {
string product =
ProductEncodeTable[e.FieldValueInfo.Value.ToString()];
string category =
CategoryEncodeTable[e.FieldValueInfo.GetHigherLevelFieldValue(fieldCategoryName).ToString()];
e.Value = product + '[' + category + ']';
}
}
if(e.ItemType == PivotChartItemType.ColumnItem) {
if(e.FieldValueInfo.ValueType == PivotGridValueType.GrandTotal) {
e.Value = "Total Sales";
}
}
if(e.ItemType == PivotChartItemType.CellItem) {
e.Value = Math.Round(Convert.ToDecimal(e.CellInfo.Value), 0);
}
}
Private Sub pivotGridControl1_CustomChartDataSourceData(ByVal sender As Object, _
ByVal e As PivotCustomChartDataSourceDataEventArgs) _
Handles pivotGridControl1.CustomChartDataSourceData
If e.ItemType = PivotChartItemType.RowItem Then
If e.FieldValueInfo.Field Is fieldCategoryName Then
e.Value = CategoryEncodeTable(e.FieldValueInfo.Value.ToString())
ElseIf e.FieldValueInfo.Field Is fieldProductName Then
Dim product As String = ProductEncodeTable(e.FieldValueInfo.Value.ToString())
Dim category As String = CategoryEncodeTable(e.FieldValueInfo.GetHigherLevelFieldValue(fieldCategoryName).ToString())
e.Value = product & "["c & category & "]"c
End If
End If
If e.ItemType = PivotChartItemType.ColumnItem Then
If e.FieldValueInfo.ValueType = PivotGridValueType.GrandTotal Then
e.Value = "Total Sales"
End If
End If
If e.ItemType = PivotChartItemType.CellItem Then
e.Value = Math.Round(Convert.ToDecimal(e.CellInfo.Value), 0)
End If
End Sub
See Also