Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications and Dialogs
  [Expand]Editors and Simple Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Collapse]Data Grid
   [Expand]Getting Started
   [Expand]Data Binding
   [Expand]Views
   [Expand]Data Editing and Validation
   [Expand]Grouping
   [Expand]Sorting
   [Collapse]Filter and Search
     Filtering in Code
   [Expand]Summaries
   [Expand]Focus and Selection Handling
    Formatting Cell Values
   [Expand]Master-Detail Relationships
    Asynchronous Image Load
   [Expand]Asynchronous Image Load
   [Expand]Export and Printing
   [Expand]Appearance and Conditional Formatting
    Split Presentation
    Row Preview Sections
    Scrolling
   [Expand]Batch Modifications
   [Expand]Hit Information
    Hints
   [Expand]Popup Menus
   [Expand]Saving and Restoring Layouts
   [Expand]Visual Elements
   [Expand]Design-Time Features
   [Expand]Examples
   [Expand]End-User Capabilities
    Included Components
  [Expand]Vertical Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Diagrams
  [Expand]Gauges
  [Expand]Map Control
  [Expand]Scheduler
  [Expand]Spreadsheet
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]Printing-Exporting
  [Expand]PDF Viewer
   Reporting
  [Expand]Snap
  [Expand]TreeMap Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Filter and Search

When filtering is applied to a View, displayed records are restricted to those that meet the current filter criteria. You can filter data against single or multiple columns.

Expanded Filtering Dropdown Menus (Excel Style)

To invoke a filtering dropdown menu for a column, click the filter icon within the column header. In the "Values" tab, end-users can select specific cell values from those that are currently displayed by the Data Grid.

The "Filters" tab gives users a wider pool of filtering options. For example, when filtering by dates, you can only show those records that correspond to the previous week.

The content of a filtering dropdown menu depends on the type of data displayed by the related grid column. For instance, the figure below illustrates what this menu looks like when filtering by a numeric column.

This type of filtering dropdown menus is called Excel-style dropdowns and is the default filtering menu type starting with version 17.1.

Related API

See the Filtering in Code article to learn how to customize Excel-style menus.

Expanded Classic Filtering Dropdown Menus

Instead of Excel-style dropdowns, the Data Grid can display classic filtering menus. These are calendars for the DateTime columns and regular dropdowns for columns of other types.

Related API

You can opt for checked list menus instead of regular dropdown menus.

Related API

Calendar filtering menus can also be replaced with checked lists. Additionally, you can select between three types of calendar-based menus: DateSmart (default menu type), DateAlt and Date. The figure below illustrates the DateAlt menu.

All three menus feature the same calendar for selecting a specific date, but with different sets of check boxes to select non-intersecting date intervals. The table below lists some of these intervals.

DateSmart
Date
DateAlt
Check boxes are visible only if there are Data Grid records that fall into corresponding intervals.
  • Beyond this year - dates that follow the current year.
  • Later this year - dates of the current year starting with the following month.
  • Later this month - dates of the current month that follow next week.
  • Next week - dates that belong to the following week.
  • Later this week - dates of the current week starting with the day after tomorrow.
  • 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.
Same time intervals as for the DateSmart type. All check boxes are available, even if there is no data that falls into a corresponding date range.
  • 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.
Related API

Expanded Automatic Filtering Row

Another way to filter data at runtime is to utilize the automatic filtering row. This row is displayed above regular data rows and allows end-users to type in filtering values (including '*' and '%' wildcards) and select filter operators (NotLike, Equals, Between, etc.).

Related API

Expanded Filter Panel

When you apply filtering, a View shows a filter panel. End-users can utilize this panel to modify and remove current filters.

Related API

Expanded Incremental Search

End-users can focus a grid column and start typing. The Data Grid will focus and highlight the first record matching record. To find other records, press Ctrl+Up and Ctrl+Down hotkeys.

Related API

Expanded Filter Editor

The Filter Editor dialog allows end-users to build complex filtering criteria, combined from multiple expressions. To invoke this dialog end-users can do one of the following:

Related API

  • ColumnViewOptionsFilter.AllowFilterEditor - gets or sets whether or not the Filter Editor is available.
  • ColumnView.CustomFilterDialog - handle this event to alter the default behavior for end-users clicking the "Custom" filter drop-down menu item. See Filtering in Code to learn more.
  • ColumnViewOptionsFilter.DefaultFilterEditorView - allows you to switch between textual and visual Filter Editor modes.
  • ColumnView.FilterEditorCreated - this event fires when the Filter Editor is about to be shown. Allows you to customize the Editor dialog or prevent it from being displayed.

    The code below allows end-users to filter the "Price" column's data by using the SpinEdit and CalcEdit editors.

  • ColumnViewOptionsFilter.UseNewCustomFilterDialog - enable this property to allow end-users to filter values of a GridColumn not only against a constant custom value, but also against values of other GridColumns.

Expanded Find Panel

The Find Panel allows your end-users to apply a temporary filter that filters data across all Data Grid columns at once. To invoke this panel, press "Ctrl+F" at runtime. Type in text you need to search for, then press Enter or click "Find".

The Find Panel provides the search syntax that allows end-users to apply complex find criteria. Examples in the following table illustrate this syntax.
Search Criteria
Description
register Selects records that contain the "register" string in any search column.
check register Dave Selects records that contain the "check" or "register" or "Dave" strings in any search column.
"check register" Selects records that contain "check register" in any search column.
screen +"Richard Fisher" Selects records that contain "screen" and "Richard Fisher" in search columns.
Product:Tofu Seattle Selects records that contain "Tofu" in the column that starts with "Product", and also contain "Seattle" in any search column.
data +entry -mark Selects records that contain "data" and "entry" in search columns, excluding records that contain "mark".
menu mask -file Selects records that contain "menu" or "mask", excluding records that contain "file".
From:Roller Subj:"currency mask" Selects records that contain "Roller" in the column that starts with "From", and also contain "currency mask" in the column that starts with "Subj".
import -From:Steve Selects records that contain "import" in any search column, excluding records that contain "Steve" in the column that starts with "From".

Related API

How would you rate this topic?​​​​​​​