PivotGridControl.FieldFilterChanging Event

Allows you to customize the filter that is being applied or cancel filtering.

Namespace: DevExpress.XtraPivotGrid

Assembly: DevExpress.XtraPivotGrid.v20.1.dll

Declaration

public event PivotFieldFilterChangingEventHandler FieldFilterChanging
Public Event FieldFilterChanging As PivotFieldFilterChangingEventHandler

Event Data

The FieldFilterChanging event's data class is PivotFieldFilterChangingEventArgs. The following properties provide information specific to this event:

Property Description
Cancel Gets or sets whether to cancel changing the filter condition.
Field Gets the field being processed. Inherited from PivotFieldEventArgsBase<T>.
FilterType Gets the current filter type.
ShowBlanks Gets whether records that contain NULL values in the current field are processed by the control.
Values Gets the collection of filter values that is about to be assigned to the filter.

Remarks

The FieldFilterChanging event occurs before a field's filter condition is changed. To obtain the collection of filter values which is about to be assigned to the filter, use the event parameter's PivotFieldFilterChangingEventArgs.Values property. To cancel changing the current filter values collection, set the PivotFieldFilterChangingEventArgs.Cancel property to true. You can also obtain the field for which the filter condition is being changed, and the current filter type, using the event parameter's PivotFieldEventArgsBase<T>.Field and PivotFieldFilterChangingEventArgs.FilterType properties, respectively.

After the filter condition has been changed, the PivotGridControl.FieldFilterChanged event is fired.

NOTE

To remove default filter items and add custom items instead, use the PivotGridControl.CustomFilterPopupItems event.

Examples

The following example shows how to prevent end-users from changing the filter condition.In this example, the FieldFilterChanging event is handled to prevent an end-user from hiding the 'Beverages' field value. If an end-user tries to hide the 'Beverages' field value, the event handler sets the event parameter's Cancel property to true to cancel changing the filter condition.

using System;
using System.Windows.Forms;
using DevExpress.XtraPivotGrid;

namespace EmptyWinApp {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e) {
            this.productReportsTableAdapter.Fill(this.productReports._ProductReports);
        }
        private void pivotGridControl1_FieldFilterChanging(object sender,
                PivotFieldFilterChangingEventArgs e) {
            if(object.ReferenceEquals(e.Field, fieldCategoryName)) {
                if((e.Field.FilterValues.FilterType == PivotFilterType.Excluded && 
                        e.Values.Contains("Beverages")) ||
                    (e.Field.FilterValues.FilterType == PivotFilterType.Included &&
                        !e.Values.Contains("Beverages"))) {
                    MessageBox.Show("You are not allowed to hide the 'Beverages' value.");
                    e.Cancel = true;
                }
            }
        }
    }
}
See Also