DataGrid
@spartanfx/react / DataGrid
Variable: DataGrid
constDataGrid:React.FC<IDataGridProps>
Renders a feature-rich, Excel-like grid component with support for:
- Editable cells
- Keyboard navigation
- Multi-cell selection
- Clipboard copy/paste
- Row-level locking and deletion
- Column sorting
Remarks
The grid integrates reactive editing, dynamic validation, and optional row locking.
When editable is enabled, a trailing blank row is automatically added for data entry.
Sorting is temporarily disabled while editing a cell to avoid data conflicts.
The component internally leverages several hooks for modular functionality:
useGridDatahandles updates, validation, and persistence.useSelectionanduseKeyboardNavmanage cell navigation.useClipboardenables Excel-style copy/paste.useRowSelectionsupports row checkboxes and bulk actions.useRowActionshandles deletion and lock state.
Examples
// Minimal usage
<DataGrid
rawData={data}
schema={schema}
onChange={(updated) => console.log(updated)}
getRowId={(row) => row.id}
/>
// Advanced usage with sorting, locks, and custom IDs
<DataGrid
rawData={data}
schema={schema}
editable
sortable
defaultSort={{ column: 'Name', direction: 'asc' }}
getRowId={(row) => row.id}
lockedRows={new Set([0])}
lockedCells={new Map([[1, new Set(['Status'])]])}
enableRowDeletion
onChange={handleGridChange}
onSortChange={(col, dir) => console.log(col, dir)}
/>
Param
IDataGridProps defining grid data, schema, and behaviors.