16 working implementations

Learn the grid by using it.

Start with a typed local table, progress into spreadsheet workflows, or inspect the full million-row host. Every route below renders the real Data Table Pro component and pairs it with tracked source.

Spreadsheet canvasBlank sheetA sparse, growing spreadsheet canvas.Server showcase100M-cell demoOne million rows and one hundred virtual columns.
  1. 01StarterBasic tableA complete local-data starting point.Local dataTyped columnsEditing
  2. 02TableCustom cellsRich content that stays virtualized.RenderingGroupsPinning
  3. 03TableSelection & paginationControlled pages and selected row values.SelectionPaginationControlled
  4. 04SpreadsheetEditing & validationInline editors with Zod-backed rules.EditingValidationHistory
  5. 05StarterControlled onChangeSee controlled row updates as formatted JSON.ControlledonChangeJSON
  6. 06TableColumn controlsResize, reorder, pin, hide, and freeze columns.ResizeReorderPinningSettings
  7. 07SpreadsheetImport & exportFocused CSV and XLSX transfer.CSVXLSXFiles
  8. 08SpreadsheetData operationsImport, export, insert, and delete rows.CSVXLSXRow actions
  9. 09SpreadsheetRow add & deleteSingle-row actions and selection-driven bulk delete.Row actionsBulk deleteHistory
  10. 10SpreadsheetTable ↔ spreadsheetSwitch modes on the same dataset.ModeTableSpreadsheet
  11. 11SpreadsheetCustom stylingSpreadsheet behavior with expressive styling.SpreadsheetStylingSearch
  12. 12TableExpandable rowsMeasured detail panels from the +/- gutter.ExpansionControlledDetail panels
  13. 13SpreadsheetCustom controlsExternal controls with table state.ControlledFormattingPagination
  14. 14ServerRemote windowed dataClient-fetched sparse windows over a large remote set.RemoteVirtualization50k rows
  15. 15SpreadsheetBlank sheetA sparse, growing spreadsheet canvas.EditableUndo / redoCSV / XLSX
  16. 16Server100M-cell demoOne million rows and one hundred virtual columns.100M cells1M × 100Server windows

Prop coverage

Find an API in context.

Each prop links to its API definition and to an example that exercises it.

dataSource05 Controlled onChange →columnSettings01 Basic table →maxHeight01 Basic table →cell02 Custom cells →groupTitle02 Custom cells →align02 Custom cells →pinned06 Column controls →pagination03 Selection & pagination →onPaginationChange03 Selection & pagination →enableRowSelection09 Row add & delete →enableEditing05 Controlled onChange →onChange05 Controlled onChange →undoLimit04 Editing & validation →redoLimit04 Editing & validation →enableColumnResizing06 Column controls →enableColumnReorder06 Column controls →enableColumnPinning06 Column controls →enableColumnSettings06 Column controls →onColumnSettingsChange06 Column controls →enableUpload08 Data operations →enableDownload08 Data operations →defaultFileName07 Import & export →enableRowActions09 Row add & delete →createEmptyRow15 Blank sheet →mode15 Blank sheet →rowStyle11 Custom styling →cellStyle11 Custom styling →showGlobalSearch11 Custom styling →renderExpandedRow12 Expandable rows →isRowExpandable12 Expandable rows →expandedRows12 Expandable rows →onExpandedRowsChange12 Expandable rows →conditionalFormatting13 Custom controls →enableFindReplace13 Custom controls →enableGoToCell13 Custom controls →columnLayoutSettings13 Custom controls →rowCount16 100M-cell demo →getRow16 100M-cell demo →onVisibleRangeChange14 Remote windowed data →dataVersion14 Remote windowed data →onVisibleColumnRangeChange15 Blank sheet →getRowsForExport16 100M-cell demo →