Skip to main content

ColumnBase.FilterPopupMode Property

Gets or sets the display mode of the column’s Drop-Down Filter. This is a dependency property.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v22.1.Core.dll

NuGet Package: DevExpress.Wpf.Grid.Core


public FilterPopupMode FilterPopupMode { get; set; }

Property Value

Type Description

A FilterPopupMode enumeration value that specifies the display mode of the column’s drop-down filter.

Available values:

Show 11 items
Name Description

ExcelSmart starting with v19.2.

In previous versions, DateSmart for date-time columns, and List for other columns.


A regular list of items (one item at a time can be selected).


A checked list. Multiple items can be selected/checked simultaneously.


A drop-down filter is represented by a custom template assigned to the ColumnBase.CustomColumnFilterPopupTemplate property.


This mode is equivalent to DateSmart regarding the appearance of the drop-down filter. The drop-down filter displays all the available check boxes, even if there is no data that falls into a corresponding date range.


This mode is equivalent to DateSmart, but with a different set of filters: Today, This week, This month, Next month, etc.

  • Beyond - Dates that belong to the month in three months time and beyond.
  • Earlier - Dates that belong to the month seven months ago and earlier.

A built-in calendar plus check boxes to select common non-intersecting date intervals.

The available date ranges for the DateSmart and Date modes:

  • Beyond this year - Dates that follow the current year.
  • Later this year - Dates of the current year starting from the following month.
  • Later this month - Dates of the current month that follow the next week.
  • Next week - Dates that belong to the following week.
  • Later this week - Dates of the current week starting from the day after tomorrow.
  • Tomorrow - Tomorrow.
  • Today - Today.
  • Yesterday - Yesterday.
  • Earlier this week - Dates of the current week that are prior to yesterday.
  • Last week - Dates of the previous week.
  • Earlier this year - Dates of the current year that are prior to the current month.
  • Prior to this year - Dates that are prior to the current year.

If there is no underlying data that would fall into a specific date range, the corresponding check box is hidden. If all values in the date-time column are set to null, all check boxes are visible.


A date-time drop-down filter without predefined values.


An Excel-style Drop-down Filter (previous).


An Excel-style Drop-down Filter (new; works starting with v18.2).


Hides the Show Drop-down Filter button Show Drop-down Filter Button.

Disabled Filter Popup


v19.2 and later use the Excel-style Drop-down Filter by default.

To use the previous drop-down filter:


Drop-Down Filter Display Mode

FilterPopupMode Value

an Excel style drop-down filter

FilterPopupMode.Excel (previous)

FilterPopupMode.ExcelSmart (new; works starting with v18.2)

a regular list of items (one item at a time can be selected)


a checked list (multiple items can be selected/checked simultaneously)


a calendar (for date-time columns)






To create a custom drop-down filter:

Example 1

The following code sample demonstrates how to create a custom drop-down filter for the Index column:


View Example: Create a Custom Drop-down Filter

    <local:IntToCriteriaOperatorConverter x:Key="IntToCriteriaConverter"/>
<dxg:GridControl x:Name="grid">
    <dxg:GridColumn FieldName="Index" FilterPopupMode="Custom">
                    <Label Content="Minimum Index:" Margin="5"/>
                    <dxe:TrackBarEdit Minimum="0" Maximum="100" 
                                      Width="200" Margin="10" 
                                      TickFrequency="10" TickItemDisplayMode="TickAndText" TickPlacement="BottomRight" 
                                      EditValue="{Binding Path=CustomColumnFilter, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource IntToCriteriaConverter}}"/>
        <dxg:TableView AutoWidth="True"/>
public class IntToCriteriaOperatorConverter : IValueConverter {
    object IValueConverter.Convert(object value, Type targetType, 
            object parameter, System.Globalization.CultureInfo culture) {
        BinaryOperator binaryOperator = value as BinaryOperator;
        if (ReferenceEquals(binaryOperator, null))
            return null;
        OperandValue operandValue = binaryOperator.RightOperand as OperandValue;
        return operandValue.Value;
    object IValueConverter.ConvertBack(object value, Type targetType,
            object parameter, System.Globalization.CultureInfo culture) {
        return new BinaryOperator("Index", Convert.ToInt32(value), BinaryOperatorType.GreaterOrEqual);

Example 2

Run Demo: Custom Filter Popup Content

The following code sample uses the RangeFilterElement as a custom data template:

<dxg:GridControl x:Name="grid" ItemsSource="...">
        <!-- -->
        <dxg:GridColumn FieldName="Quantity">
                    <dxfui:RangeFilterElement x:Name="PART_FilterElement"/>
        <!-- -->
        <dxg:TableView ColumnFilterPopupMode="ExcelSmart" />
See Also