# Filter Mode

## Content

FlexGrid provides different modes for displaying filtering options in the column-header menu. The `FilterMode` property controls the filtering interface for the entire FlexGrid or for an individual `GridColumn`.
The `FilterMode` property accepts the following values from the `GridFilterMode` enumeration:

| Value | Description |
| ----- | ----------- |
| `Default` | Displays the default filter based on the column's data type. |
| `Value` | Displays a checklist of distinct values available in the column. |
| `None` | Does not display the default filter in the column-header menu. |

`FilterMode` can be configured at the FlexGrid level to apply the same filtering mode to the grid or at the `GridColumn` level to configure individual columns.

## Default Filter

When `FilterMode` is set to `Default`, FlexGrid displays a specialized filter interface tailored to the underlying data type and configuration of each column:

* **Text columns**: Displays a Full Text Filter consisting of an input text box with checkboxes for **Match Case** and **Match Whole Word**.
* **Numeric and DateTime columns**: Display comparison operators and dedicated input controls, including range thresholds (Greater Than, Less Than) and interactive calendar date pickers.
* **Boolean (**`bool`) columns: Display dedicated selection options for `True` and `False`, allowing users to quickly filter binary values without typing text conditions.
* **Enum columns**: Automatically inspect the underlying enumeration type and display a selectable list containing all defined enum member values.
* **Columns with DataMap**: Display a selectable list populated with human-readable display values rather than the underlying raw keys or identifier values.

`Default` is the standard filtering mode applied automatically when no specific `FilterMode` is configured on the grid or column.

## Value Filter

Set `FilterMode` to `Value` to display a checklist containing the distinct values available in the column.

```auto
<c1:FlexGrid>
    <c1:FlexGrid.Columns>
        <c1:GridColumn Binding="Country"
                       FilterMode="Value" />
    </c1:FlexGrid.Columns>
</c1:FlexGrid>
```

The checklist contains values from the column after filters applied to other columns have been taken into account. This allows value selections to be combined across columns.
![C1Blazor FlexGrid column-header menu displaying the value filter checklist](https://docapp.mescius.io/DOCUMENT_SITE_LINK_PREFIX_HERE/document-site-files/images/f5b600ba-f1a7-4f89-a20c-aa6c0c35880d/image-20261016.855f04.png)
`FilterMode="Value"` can also be set on the FlexGrid.

```auto
<c1:FlexGrid FilterMode="Value" />
```

## None Filter Mode

Set `FilterMode` to `None` to prevent the default filter from being displayed in the column-header menu.
This mode is useful when the application provides another filtering interface or when inline filtering should not be available for a particular column.

```auto
<c1:FlexGrid>
    <c1:FlexGrid.Columns>
        <c1:GridColumn Binding="Country"
                       FilterMode="None" />
    </c1:FlexGrid.Columns>
</c1:FlexGrid>
```

## See Also

* [Conditional Column Filter](/componentone/docs/wpf/online-flexgrid/FlexGridFeatures/DataFiltering/conditional-filter-column)