Skip to content

Complete property reference

The table below is the complete public property surface of dash_datagrid.RevoGrid.

Dash host and bridge properties

PropertyPython shapePurpose
idstr or Dash pattern IDComponent identifier used by callbacks
classNamestrCSS class on the Dash host element
styledictInline host style; normally include a height
Every public Core event namedictLatest JSON-safe envelope; generated automatically from Stencil metadata
eventListenerslist[str]Additional generated or runtime event names to activate
eventDatadictLatest generic event envelope
syncSourceOnEditbool, default FalseAlso update the complete Dash source after edits

Core data and schema properties

PropertyPython shapePurposeReference
columnslist[dict]Regular and grouped column definitionsColumns
sourcelist[dict]Main row sourceRows
pinnedTopSourcelist[dict]Rows in the top pinned viewportPinned rows
pinnedBottomSourcelist[dict]Rows in the bottom pinned viewportPinned rows
columnTypesdictNamed JSON-safe column presetsColumn types
rowDefinitionslist[dict]Per-row sizes by type and indexRowDefinition
additionalDatadictExtra plain JSON contextAdvanced configuration

Core layout and interaction properties

PropertyPython shapePurposeReference
rowHeadersbool or dictRow numbers or JSON-safe row-header optionsRow headers
colSizenumberDefault column widthGrid size
rowSizenumberDefault row heightRow height
rowClassstrSource field containing the row CSS classRows
resizeboolAllow column resizingColumn resize
autoSizeColumnbool or dictEnable/configure automatic column sizingColumn autosize
stretchbool or strFill remaining horizontal spaceColumn stretch
readonlyboolMake the complete grid read-onlyEditing
applyOnCloseboolApply an editor value when the editor closesEditing
rangeboolEnable cell range selectionSelection API
useClipboardbool or dictEnable/configure clipboard behaviorClipboard
canFocusboolAllow grid cell focusAdvanced configuration
canMoveColumnsboolEnable column reorderingColumn ordering
canDragboolAllow the native drag-and-drop pathRow ordering

Core data feature properties

PropertyPython shapePurposeReference
filterbool or dictEnable/configure built-in filteringFiltering
sortingdictApply external sorting configurationSorting
groupingdictConfigure Core row groupingRow grouping
trimmedRowsdictHide physical main-row indexesRows and trimming
exportingboolEnable the Core export pluginExport plugin

Core rendering and platform properties

PropertyPython shapePurposeReference
themestrRevoGrid theme nameThemes
accessibleboolEnable accessibility behaviorAccessibility
rtlboolUse right-to-left layoutRTL
frameSizenumberOff-screen virtualization bufferPerformance
disableVirtualXboolDisable column virtualizationPerformance
disableVirtualYboolDisable row virtualizationPerformance
virtualXlist[str]Column dimensions using X virtualizationViewports
noHorizontalScrollTransferboolDo not mirror horizontal scroll between viewport sectionsRevoGrid API
hideAttributionboolHide attribution; use only with the required RevoGrid subscriptionAttribution

For exact Core defaults and TypeScript types, use the RevoGrid component API. The Python signature and docstring are generated with the package, so help(RevoGrid) also lists every Dash property:

python
from dash_datagrid import RevoGrid

help(RevoGrid)

Python boundary limitations

Excluded grid properties

The wrapper intentionally excludes properties whose values require JavaScript functions, classes, promises, or virtual DOM nodes:

Excluded Core propertyWhy it is excluded
editorsValues are editor constructors/classes
pluginsValues are plugin classes
focusTemplateValue is a render function
jobsBeforeRenderValues are browser promises
registerVNodeValues are virtual nodes or render functions

Function-valued members nested inside otherwise supported objects are also unsupported. Examples include custom cell/header templates, custom editor constructors, custom comparison or parser functions, custom filter functions, and custom grouping renderers.

before* events cannot cancel server-side

Core before* DOM events may be cancelable in JavaScript because a browser listener can call preventDefault() synchronously. A Python Dash callback runs after a network round trip, so beforefilterapply and generic before* events are notifications only. They cannot prevent or rewrite the browser action.

Imperative methods

The Core API includes methods for selection, scrolling, data access, export, and targeted updates. Those methods are documented for JavaScript consumers but are not callable through dash_datagrid.RevoGrid in v1. Use declarative Dash output properties for Python-driven changes.

Troubleshooting

The grid has no visible height

Give the component host an explicit height:

python
RevoGrid(..., style={"height": "60vh", "minHeight": 320})

A prop is not JSON serializable

Normalize DataFrame values, NumPy values, Decimal, timestamps, UUIDs, and custom Python objects before assigning them. Dash must serialize props before they reach RevoGrid.

A custom renderer, editor, comparator, or filter does not work

Those APIs require JavaScript functions. They are part of the Core JavaScript API but outside the v1 Python boundary.

A before* callback did not prevent an action

Python callbacks cannot synchronously cancel browser events. Observe the resulting event, or implement the behavior declaratively with a new prop value.

Editing a large source causes large callback requests

Leave syncSourceOnEdit=False and consume the compact afteredit delta. Full source synchronization is opt-in.

A generic event does not update eventData

Use the lowercase event name shown in the Core events table. Auto-discovered events update their named Dash property and eventData; runtime-only plugin events update eventData.