RevoGrid Pro Documentation
website·Indexed 32 days ago
https://pro.rv-grid.comComprehensive guides for RevoGrid Pro, featuring advanced data grid capabilities such as the Canonical Filter AST, multi-row headers, heatmap/coldmap visualizations, and a wide array of filter types including fuzzy search, date range, and selection cascade filters. Includes documentation on cell and row formatting, sticky cells, and the RevoGrid MCP.
What's inside RevoGrid
- RevoGrid Pivot transforms flat fact tables (e.g., orders, transactions) into analytical views. It allows developers to define row hierarchies, generated columns, and aggregated measures. While Pivot handles the grouping, totals, and summary cells, RevoGrid remains responsible for rendering and interaction. It is recommended for analytical summaries, whereas a normal grid is preferred for inspecting or editing individual row-level records.
Overview of RevoGrid Formula calculations
RevoGrid's Formula functionality allows spreadsheet-style calculations where source values starting with
=are treated as expressions. The grid renders the derived result while the underlying source data retains the raw formula string.Key constraints and behaviors:
- A1 Coordinates: References follow the authored row and column order, ignoring current sorting, filtering, pinning, or hiding.
- Recalculation: Mounted cells recalculate when configured source or workbook data changes.
- Error Handling: Invalid syntax, unknown functions, or circular references result in
#ERROR. Relative references that move before A1 during autofill result in#REF!. - Function Support: Functions are powered by FormulaJS, but RevoGrid uses its own expression parser. Only the documented FormulaJS-backed subset is supported.
Architecture for connecting RevoGrid Pivot to an OLAP backend
To connect RevoGrid Pivot to an OLAP backend, use a proxy architecture where the browser communicates with an application API, which then communicates with the OLAP engine. Do not connect the browser directly to the OLAP database. The backend layer is responsible for authentication, tenant isolation, selector whitelisting, request normalization, query translation, caching, and observability.
Recommended data flow: RevoGrid + PivotPlugin $\rightarrow$ HttpPivotRemoteStore $\rightarrow$ Application API (/api/pivot/*) $\rightarrow$ Field Registry/Planner $\rightarrow$ OLAP engine/warehouse/cube API.
Implement advanced drag-and-drop for rows and columns
RevoGrid Pro supports sophisticated drag-and-drop functionality for reorganizing datasets. Key capabilities include:
- Multi-item reordering: Move multiple rows or columns simultaneously.
- Filter preservation: Uses
proxyItemsto ensure filter positioning remains correct after a move. - Flexible directions: Supports vertical and horizontal dragging for both pinned and classic rows.
- Visual feedback: Ability to apply custom CSS classes during the drag operation to indicate drop targets.
Implement Calendar Overview (Month/Year)
Use themonthview for a conventional seven-column calendar with whole-day interactions. Use theyearview for a twelve-month overview that allows drilling down into specific months.const calendarOverview = { view: 'month', // change to 'year' for the twelve-month overview weekStartDate: '2026-07-15', weekStartsOn: 1, };ConstraintWindowConflict interface properties
The
ConstraintWindowConflictobject provides detailed metadata about a scheduling conflict:code: Always'constraint-window-conflict'.taskId: The unique identifier of the affected task.constraintType: The type of soft constraint causing the conflict. Possible values:"start-no-earlier-than","start-no-later-than","finish-no-earlier-than", or"finish-no-later-than".constraintDate: The ISO date string of the constraint.requiredStartDate: The date the task is required to start based on dependencies.attemptedStartDate: The date the system attempted to start the task.resolvedStartDate: The final date the task was scheduled for after resolution.message: A human-readable description of the conflict.
Understand the Data Grid Context Menu Context
TheDataGridContextMenuContextprovides detailed state information about the grid at the moment the menu is opened. This includes the active surface (cell, rowHeader, etc.), the affected rows and columns, the physical index of the column, and whether the current state is read-only.interface DataGridContextMenuContext<T> { readonly surface: DataGridContextMenuSurface; // 'cell' | 'rowHeader' | 'rowGroup' | 'columnHeader' | 'columnGroupHeader' readonly menu: ContextMenuOpenContext; readonly rows: readonly DataGridContextMenuRow<T>[]; readonly range?: RangeArea; readonly rowType?: DimensionRows; readonly columnType?: DimensionCols; readonly columnPhysicalIndex?: number; readonly columnSize?: number; readonly column?: ColumnRegular; readonly columns: readonly ColumnRegular[]; readonly columnGroup?: ContextMenuColumnGroup; readonly readonly: boolean; }Event Scheduler Core Concepts
The Event Scheduler transforms RevoGrid into a time-based planning tool using several key concepts:
- Events: Scheduled blocks requiring
id,startDateTime, andendDateTime. - Resources: Schedulable rows (people, rooms, machines) that act as capacity.
- Views: Display modes including
day,week,month(calendar style) andresourceTimeline(resource-per-row style). - Projection: The internal model that combines config, events, and resources into visible lanes, markers, and summaries.
- Source: The host-owned event data. The scheduler emits
grideditchanges for the app to persist.
- Events: Scheduled blocks requiring
Use the Slider Editor for numeric cell input
TheeditorSlideris a custom cell editor for RevoGrid that provides a slider input for editing numeric values within a specified range. It supports customizable minimum and maximum values via column properties and automatically dispatches acelleditevent upon change to update the grid's data model.Implement versioned cell and row notes with GridNotesPlugin
TheGridNotesPluginallows you to add metadata notes to a data grid without modifying the underlying source rows. Notes are linked to a stable host row ID and, in the case of cell notes, a specific column prop. This architecture ensures that note content remains independent from grid operations such as sorting, filtering, pinning, grouping, clipboard actions, and CSV output.Use Heatmap and Coldmap for numerical data visualization
The Heatmap feature maps numerical cell values to color gradients to identify patterns quickly. It supports two modes: Heatmap (red-to-green gradient for intensity) and Coldmap (shades of blue for subtle visualization). The feature automatically normalizes values between a specifiedminValueandmaxValueand ensures WCAG compliance by dynamically adjusting font color (black or white) based on the background luminance.Understand the Filter v2 (Canonical Filter AST) architecture
Filter v2 is the canonical filtering architecture provided by theAdvanceFilterPluginin RV Grid Pro. It is not a separate class but an enhancement that converts existing filter states (text, number, selection, etc.) into a JSON-safeFilterAst. This allows for consistent local evaluation, saved views, and remote requests, supporting nestedand/orgroups and cross-column logic. Simple trees are projected back intomultiFilterItemsto maintain compatibility with existing Core integrations.