Skip to main content
A newer version of this page is available. .

Filtering in Code

  • 3 minutes to read

In addition to end-user filtering, PivotGridControl provides the capability to specify filter conditions in code.

pivot-filter-field-values

Filter Field Values in Code

To display only the required data, add the necessary values to the PivotGridField.FilterValues collection. The type of the filter values should be the same as the value type of the current field.

The filtering functionality depends upon the FieldFilterValues.FilterType property. This property specifies whether filter values should be displayed in or hidden from the pivot grid.

Example

This example shows how to apply a filter to a field. For this, a new FilterFieldValues method was created.

The first condition will select records which contain ‘UK’ in the ‘fieldCountry’ field. The second condition will filter the ‘Category’ field to display only four categories: ‘Beverages’, ‘Condiments’, ‘Seafood’, and ‘Produce’.

Imports System.Windows
Imports System
Imports DevExpress.Xpf.PivotGrid
Imports System.Collections.Generic

Namespace WpfPivotGridFilterValues
    ''' <summary>
    ''' Interaction logic for MainWindow.xaml
    ''' </summary>
    Partial Public Class MainWindow
        Inherits Window

        Public Sub New()
            InitializeComponent()

            ' Filters values in the Country field using the created method.
            FilterFieldValues(fieldCountry,
                  New String() {"UK"}, FieldFilterType.Included)

            ' Filters values in the Category field using the created method.
            FilterFieldValues(fieldCategory,
                  New String() {"Beverages", "Condiments", "Seafood", "Produce"}, FieldFilterType.Included)
        End Sub

        ' Creates a new method that allows filtering field values.
        Private Function FilterFieldValues(ByVal field As PivotGridField,
                                           ByVal filterValues() As Object,
                                           ByVal filterType As FieldFilterType) As Object()
            ' Locks the control to prevent its excessive updates when multiple properties are modified.
            pivotGridControl1.BeginUpdate()
            Try
                ' Clears the filter value collection and adds object items to it.
                field.FilterValues.Clear()
                For Each filterValue As Object In filterValues
                    field.FilterValues.Add(filterValue)
                Next filterValue
            Finally
                ' Specifies that the control should only display records 
                ' which contain the specified values in the field.
                field.FilterValues.FilterType = filterType

                ' Unlocks the control.
                pivotGridControl1.EndUpdate()
            End Try
            Return filterValues
        End Function
    End Class
End Namespace
See Also