Overview
Filter types cover Core condition families, Pro value controls, and global quick filtering. Choose the control that matches the column data and the way users need to narrow it.
Common filter controls
Section titled “Common filter controls”| Type | Best for |
|---|---|
| Text | Names, labels, codes, and descriptions |
| Number | Equality, comparisons, and numeric ranges |
| Selection | Searchable checklists of known values |
| Excel-style Selection | Staged Apply/Cancel checklists |
| Selection Cascade | Context-aware dependent value lists |
| Slider | Visual numeric interval selection |
| Date | Calendar days and relative periods |
| Datetime | Exact instants and timezone-aware ranges |
| Boolean | Strict Yes/No values |
| Array | Empty and non-empty arrays |
| Quick Filter | Search words across several columns |
Need reporting periods that do not start in January? Configure Fiscal Date Filters for Date, Datetime, and aligned Relative Window conditions.
Structured control quick start
Section titled “Structured control quick start”Structured filter types add purpose-built controls to the Pro filter popup while keeping the standard RevoGrid filter model. AdvanceFilterPlugin registers all built-ins, but each column opts into the controls it needs.
import { AdvanceFilterPlugin, FILTER_FACETED_LIST, FILTER_HISTOGRAM_BRUSH, FILTER_TOKEN_LIST,} from '@revolist/revogrid-pro';import '@revolist/revogrid-pro/dist/revogrid-pro.css';
grid.plugins = [AdvanceFilterPlugin];grid.columns = [ { prop: 'sku', filter: ['string', FILTER_TOKEN_LIST] }, { prop: 'region', filter: ['string', FILTER_FACETED_LIST] }, { prop: 'revenue', filter: ['number', FILTER_HISTOGRAM_BRUSH] },];grid.filter = true;The first array entry keeps the ordinary string or number operators available. The structured type adds its specialized body above the ordinary condition list. Conditions still serialize as multiFilterItems and compile into the canonical FilterAst.
Structured controls
Section titled “Structured controls”| Type | Best for | Reads column data |
|---|---|---|
| Token List | Pasted exact values | No |
| Fuzzy Search | Approximate text matches | Unique values for preview |
| Regular Expression | Pattern-based text matching | Unique values for preview |
| Faceted List | Searchable values with counts | All and visible value counts |
| Chip and Badge Toggles | Small visual status sets | Unique values |
| Histogram Brush | Numeric distributions and ranges | Numeric values and bounds |
| Rating or Progress Threshold | Stars, percentages, or scores | No |
| Statistical Presets | Top 10%, average, quartiles, outliers | Numeric values and bounds |
| Calendar Range | Inclusive date-only ranges | No |
| Relative Window | Rolling date periods | No |
| Timeline Brush | Date or datetime density and ranges | Temporal values |
| Time Matrix | Weekday and hour schedules | No |
| Tri-state Boolean | All, Yes, No, and optional blanks | Value counts |
| Array and Tags | Any, all, none, exact, or empty tags | Array values |
Common setup pattern
Section titled “Common setup pattern”Every focused guide uses the same three steps:
- Register
AdvanceFilterPluginonce on the grid. - Put the structured type constant in the matching column’s
filterarray. - Use
multiFilterItemsonly when the application needs an initial or restored condition.
grid.filter = { multiFilterItems: { sku: [ { id: 1, type: 'tokenListAnyOf', value: ['EU-100', 'EU-200'], relation: 'and', }, ], },};The saved type is the operator ID, not the structured body ID. Each type guide lists both IDs and the exact JSON-safe value shape.
Configuration and remote data
Section titled “Configuration and remote data”Built-in factory options belong to the structured type registration, not to an individual column. Replace a built-in registration when you need custom formatting, limits, locale, colors, or other presentation policy.
For pagination and infinite-scroll datasets, the browser may hold only part of the result. Supply complete server aggregates when a data-derived control must represent the entire remote dataset rather than the loaded page.
Read Custom Structured Filter Types for registration replacement, lazy aggregates, remote prepared data, and building a custom body.