Back to Devexpress

PivotGridField.CustomTotals Property

wpf-devexpress-dot-xpf-dot-pivotgrid-dot-pivotgridfield-57431363.md

latest7.2 KB
Original Source

PivotGridField.CustomTotals Property

Gets the current field’s custom total collection.

Namespace : DevExpress.Xpf.PivotGrid

Assembly : DevExpress.Xpf.PivotGrid.v25.2.dll

NuGet Package : DevExpress.Wpf.PivotGrid

Declaration

csharp
public PivotGridCustomTotalCollection CustomTotals { get; }
vb
Public ReadOnly Property CustomTotals As PivotGridCustomTotalCollection

Property Value

TypeDescription
PivotGridCustomTotalCollection

A PivotGridCustomTotalCollection object which represent the custom totals’ collection.

|

Remarks

The XtraPivotGrid control lets you calculate automatic or custom totals against data fields. These totals are displayed as an additional column(s) for each value in an outer column field and as an additional row for each value in an outer row field.

The CustomTotals collection contains PivotGridCustomTotal objects which represent custom totals for the current field. They are displayed when the field is positioned within the Column Header Area or Row Header Area and only if its PivotGridField.TotalsVisibility property is set to FieldTotalsVisibility.CustomTotals.

Example

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.

View Example

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>
csharp
using System.Data;
using System.Data.OleDb;
using System.Windows;
using DevExpress.Xpf.PivotGrid;
using HowToBindToMDB.NwindDataSetTableAdapters;
using System;

namespace HowToBindToMDB {
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    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
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows
Imports DevExpress.Xpf.PivotGrid
Imports HowToBindToMDB.NwindDataSetTableAdapters
Imports System

Namespace HowToBindToMDB
    ''' <summary>
    ''' Interaction logic for MainWindow.xaml
    ''' </summary>
    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

See Also

TotalsVisibility

ShowCustomTotals

PivotGridField Class

PivotGridField Members

DevExpress.Xpf.PivotGrid Namespace