Back to Devexpress

PivotGridField.TotalsVisibility Property

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

latest9.1 KB
Original Source

PivotGridField.TotalsVisibility Property

Gets or sets whether to display totals for the current field when it is in the Column Header Area or Row Header Area and if so, whether they are automatic or custom. This is a dependency property.

Namespace : DevExpress.Xpf.PivotGrid

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

NuGet Package : DevExpress.Wpf.PivotGrid

Declaration

csharp
public FieldTotalsVisibility TotalsVisibility { get; set; }
vb
Public Property TotalsVisibility As FieldTotalsVisibility

Property Value

TypeDescription
FieldTotalsVisibility

A FieldTotalsVisibility value that specifies which totals are displayed for the current field.

|

Available values:

NameDescription
AutomaticTotals

Specifies that automatic totals are calculated.

| | CustomTotals |

Specifies that custom totals are calculated using the formula in the PivotGridField.CustomTotals collection.

| | None |

Specifies that a summary total is not calculated.

|

Remarks

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

For each data field a single automatic total is calculated, and its summary function is determined by the field’s PivotGridField.SummaryType property. The number of automatic totals displayed for each value of an outer field matches the number of data fields.

Custom totals allow you to calculate multiple totals against each data field. A custom total is represented by the PivotGridCustomTotal class and its PivotGridCustomTotal.SummaryType property identifies the summary function type used to calculate the total.

To display custom totals instead of the automatic totals for the values of an outer column or row field, you should do the following:

If the TotalsVisibility property of an outer column or row field is set to FieldTotalsVisibility.None neither an automatic nor custom total is displayed for the values of this field.

Note

The row fields’ TotalsVisibility properties are ignored when the PivotGridControl.RowTotalsLocation property is set to FieldRowTotalsLocation.Tree.

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

CustomTotals

ShowColumnTotals

ShowRowTotals

ShowTotalsForSingleValues

ShowCustomTotals

PivotGridField Class

PivotGridField Members

DevExpress.Xpf.PivotGrid Namespace