The following example demonstrates how to add custom totals for a particular pivot grid field.
In this example, four different totals are added for the Category Name row field: Average, Sum, Min and Max. For this, they should be added to the PivotGridField.CustomTotals property and the PivotGridField.TotalsVisibility property should be set to FieldTotalsVisibility.CustomTotals.
C#:MainWindow.xaml.cs |
using System.Data;
using System.Data.OleDb;
using System.Windows;
using DevExpress.Xpf.PivotGrid;
using HowToBindToMDB.NwindDataSetTableAdapters;
using System;
namespace HowToBindToMDB {
public partial class MainWindow : Window {
NwindDataSet.SalesPersonDataTable salesPersonDataTable = new NwindDataSet.SalesPersonDataTable();
SalesPersonTableAdapter salesPersonDataAdapter = new SalesPersonTableAdapter();
public MainWindow() {
InitializeComponent();
pivotGridControl1.DataSource = salesPersonDataTable;
}
private void Window_Loaded(object sender, RoutedEventArgs e) {
salesPersonDataAdapter.Fill(salesPersonDataTable);
object[] filter = new object[15];
Array.Copy(fieldProductName.GetUniqueValues(), filter, filter.Length);
fieldProductName.FilterValues.ValuesIncluded = filter;
}
}
}
|
VB:MainWindow.xaml.vb |
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows
Imports DevExpress.Xpf.PivotGrid
Imports HowToBindToMDB.NwindDataSetTableAdapters
Imports System
Namespace HowToBindToMDB
Partial Public Class MainWindow
Inherits Window
Private salesPersonDataTable As New NwindDataSet.SalesPersonDataTable()
Private salesPersonDataAdapter As New SalesPersonTableAdapter()
Public Sub New()
InitializeComponent()
pivotGridControl1.DataSource = salesPersonDataTable
End Sub
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
salesPersonDataAdapter.Fill(salesPersonDataTable)
Dim filter(14) As Object
Array.Copy(fieldProductName.GetUniqueValues(), filter, filter.Length)
fieldProductName.FilterValues.ValuesIncluded = filter
End Sub
End Class
End Namespace
|
Xaml:MainWindow.xaml |
<Window x:Class="HowToBindToMDB.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxpg="http://schemas.devexpress.com/winfx/2008/xaml/pivotgrid"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
<dxpg:PivotGridControl HorizontalAlignment="Left" Name="pivotGridControl1"
VerticalAlignment="Top" RowTotalsLocation="Far">
<dxpg:PivotGridControl.Fields>
<dxpg:PivotGridField Name="fieldCategoryName" FieldName="CategoryName"
Area="RowArea" Caption="Category"
TotalsVisibility="CustomTotals">
<dxpg:PivotGridField.CustomTotals>
<dxpg:PivotGridCustomTotal SummaryType="Average" />
<dxpg:PivotGridCustomTotal SummaryType="Sum" />
<dxpg:PivotGridCustomTotal SummaryType="Max" />
<dxpg:PivotGridCustomTotal SummaryType="Min" />
</dxpg:PivotGridField.CustomTotals>
</dxpg:PivotGridField>
<dxpg:PivotGridField Name="fieldProductName" FieldName="ProductName" Area="RowArea"
Caption="Product Name" />
<dxpg:PivotGridField Name="fieldOrderYear" FieldName="OrderDate" Area="ColumnArea"
Caption="Order Year" GroupInterval="DateYear" />
<dxpg:PivotGridField Name="fieldExtendedPrice" FieldName="Extended Price"
Area="DataArea" CellFormat="c0" />
</dxpg:PivotGridControl.Fields>
</dxpg:PivotGridControl>
</Grid>
</Window>
|