Back to Devexpress

PivotGridField.Group Property

wpf-devexpress-dot-xpf-dot-pivotgrid-dot-pivotgridfield-9f829eab.md

latest7.4 KB
Original Source

PivotGridField.Group Property

Gets or sets the group which owns the current field. This is a dependency property.

Namespace : DevExpress.Xpf.PivotGrid

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

NuGet Package : DevExpress.Wpf.PivotGrid

Declaration

csharp
public PivotGridGroup Group { get; set; }
vb
Public Property Group As PivotGridGroup

Property Value

TypeDescription
PivotGridGroup

A PivotGridGroup object which owns the current field; null if the field doesn’t belong to a group.

|

Remarks

Multiple fields can be combined into a single group via the PivotGridControl.Groups collection. Fields that belong to the same group cannot be separated and they are always dragged as a whole. Linked fields are displayed within the same area which is specified by the PivotGridGroup.Area property.

Example

The following example demonstrates how to combine fields into a group.

In this example, two fields (“Country” and “Customer”) are combined into a new group at design time, and another two fields (“Category” and “Product”) are combined into a new group at runtime, in this order. This ensures that the “Country” field is followed by “Customer”, and the the “Category” field is followed by “Product”. If you drag the “Region” field and drop it to another area, the “Customer” field accompanies it. This behavior is also true for the second group.

csharp
using System.Windows;
using DevExpress.Xpf.PivotGrid;
using HowToBindToMDB.DataSet1TableAdapters;
using static HowToBindToMDB.DataSet1;

namespace HowToBindToMDB {
    public partial class MainWindow : Window {
        SalesPersonDataTable salesPersonDataTable = 
            new SalesPersonDataTable();
        SalesPersonTableAdapter salesPersonDataAdapter = new SalesPersonTableAdapter();
        public MainWindow() {
            InitializeComponent();
            pivotGridControl1.DataSource = salesPersonDataTable;
        }
        private void Window_Loaded(object sender, RoutedEventArgs e) {
            salesPersonDataAdapter.Fill(salesPersonDataTable);

            // Create a group at run-time
            PivotGridGroup group = pivotGridControl1.Groups.Add(fieldCategoryName, fieldProductName);
        }
    }
}
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 Name="pivotGridControl1">
            <dxpg:PivotGridControl.Fields>
                <dxpg:PivotGridField Name="fieldCountry" FieldName="Country" Area="RowArea" 
                                     Group="{Binding ElementName=groupCountryCustomer}" />
                <dxpg:PivotGridField Name="fieldCustomer" FieldName="Sales Person" Area="RowArea" 
                                     Group="{Binding ElementName=groupCountryCustomer}" 
                                     Caption="Customer"/>
                <dxpg:PivotGridField Name="fieldYear" FieldName="OrderDate" Area="FilterArea"
                                     Caption="Year" GroupInterval="DateYear" />
                <dxpg:PivotGridField Name="fieldCategoryName" FieldName="CategoryName"
                                     Area="ColumnArea" Caption="Category" />
                <dxpg:PivotGridField Name="fieldProductName" FieldName="ProductName"
                                     Area="ColumnArea" Caption="Product" />
                <dxpg:PivotGridField Name="fieldExtendedPrice" FieldName="Extended Price"
                                     Area="DataArea" CellFormat="c0" />
            </dxpg:PivotGridControl.Fields>
            <dxpg:PivotGridControl.Groups>
                <dxpg:PivotGridGroup Name="groupCountryCustomer" />
            </dxpg:PivotGridControl.Groups>
        </dxpg:PivotGridControl>
    </Grid>
</Window>
vb
Imports System.Windows
Imports DataSet1
Imports DataSet1TableAdapters
Imports DevExpress.Xpf.PivotGrid

Namespace HowToBindToMDB
    Partial Public Class MainWindow
        Inherits Window
        Private salesPersonDataTable As New 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)

            ' Create a group at run-time
            Dim group As PivotGridGroup = pivotGridControl1.Groups.Add(fieldCategoryName, fieldProductName)
        End Sub
    End Class
End Namespace

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the Group property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

wpf-pivot-grid-implement-a-custom-filter-popup/CS/DXPivotGrid_CustomFilterPopup/CustomFilterPopupTemplateSelector.cs#L14

csharp
var field = FieldHeader.GetHeader(container)?.Field;
    if(field != null && field.Group == null)
        return CustomTemplate;

wpf-pivot-grid-implement-a-custom-filter-popup/VB/DXPivotGrid_CustomFilterPopup/CustomFilterPopupTemplateSelector.vb#L16

vb
Dim field = FieldHeader.GetHeader(container)?.Field
    If field IsNot Nothing AndAlso field.Group Is Nothing Then
        Return CustomTemplate

See Also

PivotGridField Class

PivotGridField Members

DevExpress.Xpf.PivotGrid Namespace