Virtual scrollingWeb Worker offloadColumnar encodingServer-side dataPaginationInfinite scrollTransactionsAsync transactionsCell span / mergeSortingAutomatic columnsCustom sort orderResizingReorderingPinningAuto-size & fitVisibility & chooserBands (multi-level headers)Filter rowHeader filter popupQuick searchFilter panel barRelative date filtersExternal filterMulti filterFilter builderGrouping (one level)Group panelMulti-level groupingGroup summariesMaster-detailTree dataFooter column totalsTotals row placementCustom aggregationSelection statisticsRow selectionFocused rowDeferred selectionRange selectionCell focus & keyboardCopyFill handleCut & pasteCell editingBatch editingRow editingForm editingPopup editingValidationPermissionsCustom editors & lookupsCRUD handlersUndo / redoCSV exportExcel exportPDF exportStyled exportImport wizardThemes & palettesDensityLocalizationTooltipsRow numbersCell flashPinned rowsRow drag & dropSparklinesCell notesPrint layoutAligned gridsLoading & empty overlaysStatus barSide bar & tool panelsChart data hookChart panelChart API, events & saved chartsBox plotWaterfall, funnel, treemap, heatmap & rangeScatter & bubble chartsChart titles, labels & legendStacked & 100% chartsCross-filter & zoomChart exportEventsImperative APIGrid state for AI modelsSaved viewsContext menusSSR & bundlers
Grid state for AI models
EnterpriseA JSON Schema of the grid’s filters, sort, grouping and columns for your own model, and a checked apply for its answer.
Try it: This view is a model’s answer to "pending orders in the Aegean, biggest revenue first, hide the SKU", passed to applyAiState — note the filters landed in the filter row.
Enterprise feature — your app needs its own licence key. See Pricing.
Loading DataGrid…