Skip to content

Overview

RevoGrid filtering narrows the visible row set without replacing the original source. Core provides the filter model and standard text/number operators; RevoGrid Pro adds richer inputs around the same model.

New to filtering? Begin with the Filtering Quick Start to enable filters, choose text and number operators, apply initial conditions, listen for changes, and clear the result.

For a scenario-led tour, read Advanced Data Grid Filtering for E-commerce and Project Management to see how the same capabilities support customer segmentation, order operations, and project-delivery queues.

Open the standalone Advanced Filtering showcase to compare the TypeScript, React, Vue, and Angular implementations.

CapabilityCorePro
Text and number operatorsYesUses the same operators
Multiple conditions per columnYesEnhanced popup and header workflows
Programmatic multiFilterItemsYesUsed by selection, slider, date, and expressions too
Parsed values through cellParserYesShared by advanced filters
Canonical JSON-safe filter treeFilterAst with nested and, or, and not
Global multi-word quick filterAdvanceFilterPlugin
Selection and cascading option listsYes
Editable numeric range sliderYes
Calendar and relative-date operatorsYes
Structured filter bodies for tokens, fuzzy search, regex, facets, histograms, ratings, timelines, matrices, booleans, and arraysYes
Inline header controlsFilterHeaderPlugin
Current-column expression editorOptional
Pagination, infinite scroll, and server-side grouping adaptersYes

Start with the smallest workflow that matches the user’s task:

User needStart withAdd when needed
Text or numeric conditions in a popupText or Number filtersAdvanceFilterPlugin for richer controls and a canonical model
A checklist of known valuesSelection FilterExcel mode for staged Apply/Cancel; cascade for dependent lists
A numeric intervalSlider FilterEditable inputs or inline header controls
Calendar days or exact instantsDate or Datetime filterTimezone, week, and fiscal-calendar policy
Fast controls inside headersFilter HeaderSelection, slider, date, or boolean popup triggers
Current-column power-user syntaxFilter ExpressionsUse AST instead for logic across columns
Cross-column OR, nested groups, NOT, or remote transportCanonical Filter ASTThe grouped editor for a visual workflow
A data-shaped popup controlStructured Filter TypesRegister a custom type when the built-ins do not fit
Search words across several columnsQuick FilterRestrict columns or tune the debounce
Show removable active-filter summariesFilter BadgesCustom labels, details, rendering, and clear actions
Save, restore, or package reusable viewsFilter State and PresetsCanonical FilterAst for JSON-safe nested queries
Add an application-specific row testCustom Filter OperatorsStructured types for purpose-built popup bodies

“Filter v2” is an informal name for the canonical filtering architecture in Pro’s AdvanceFilterPlugin; it is not a separate FilterV2 class or a replacement Core plugin. Existing text, number, selection, slider, date, expression, and quick filters continue to use their current column configuration and UI. The advanced plugin converts their state into a JSON-safe FilterAst automatically.

This gives existing filtering a consistent model for local evaluation, saved views, and remote requests. It also adds nested and/or groups, cross-column or, not, atomic validation, and a shared date/time execution context. Simple trees are projected back into multiFilterItems, so existing integrations remain compatible; applications only need to use the AST API when they need the more expressive tree model.

This is primarily an improvement in capability, validation, and transport consistency. It does not promise that ordinary column filters will execute faster. Simple filtering still participates in the existing Core trimming and large-source lifecycle. See Canonical Filter AST for the tree shape, API, grouped editor, and remote event payloads.

The Order Explorer opens with the High-value Europe filters already applied, making the active chips and filtered result count immediately visible. Use Clear All to reveal all 1,000 deterministic orders. Its presets are ordinary multiFilterItems models, so they can also be saved as views or created by application code.

  • High-value Europe combines a Region selection with a Total slider range.
  • Recent expedited combines the relative last7Days date operator with the Expedited selection.
  • Review queue includes selected Status values and adds gte plus lte conditions to Total.

The result count comes from grid.getVisibleSource() after filtering. The grid-synced badge component mirrors the current model; removing a badge updates the plugin’s canonical filter state, while Clear All assigns an empty filter model.

The toolbar’s global search uses the public grid.quickFilter property. Try Lisbon pending: each word can match a different visible column in the same row. Search is whitespace-normalized, case-insensitive, and uses parsed cell values. Every word must match somewhere in the row, and the result is ANDed with all active column filters.

Scroll horizontally through the expanded order schema to try all fourteen structured filter types in context. Order, Customer, SKU, Region, Status, Total, Rating, Margin Change, Order Date, Renewal Date, Created At, Activity Time, Verified, and Tags each expose the matching purpose-built body while continuing to serialize into the same condition model.

The showcase combines documented public features rather than introducing another filter API:

Default popup controls apply while users edit. Set disableDynamicFiltering: true for the ordinary popup’s Save/Cancel workflow. The separate Excel-Style Filter always uses Apply/Cancel and also provides mini-filter actions, blanks, and date hierarchies.