Features
100,000 rows
Rows and columns are virtualized, display performance is not impacted by the number of rows or columns. Renders have been optimized to the strict minimum, follow the performance guides to get the most out of DSG.
Simple underlying data
You don't need to wrap you data in fancy objects.
[
{
"active": true,
"firstName": "Vanessa",
"number": 109
},
{
"active": false,
"firstName": "Darrick",
"number": 131
},
{
"active": true,
"firstName": "Talon",
"number": 24
}
]
Responsive
The spreadsheet takes 100% of the div it is in and grows and shrinks with it. You can specify how columns should react using known flexbox syntax. More details on how to setup column widths.
Keyboard shortcuts
A lot of keyboard shortcuts are supported so power user can feel just right:
Arrowsto move active cell aroundTabandShift+Tabto go to next / previous cellShift+Arrowsto select multiple cellsShift+Clickto expand selectionCtrl+Arrowsor⌘+Arrowsto move to first / last / top / bottom cellCtrl+Shift+Arrowsor⌘+Shift+Arrowsto select to first / last / top / bottom cellEscto blurEnterorF2to start / stop editing cellShift+Enterto insert row belowCtrl+Dor⌘+Dto duplicate current row / selected rowsBackspaceorDelto clear cell / delete rowsCtrl+Aor⌘+Ato select allRight clickorCtrl+Left clickto open context menu
Context menu
Smart context menu when right clicking is 100% supported and customizable with a single component. More details on how to setup a custom context menu.
Try right clicking on the grid, selecting a few rows, clicking on headers...
Copy pasting

Copy pasting to and from Excel, Google-sheet, and other spreadsheet software is supported and completely customizable: you decide what data is copied and how pasting is handled with simple functions. More details on how to customize copy pasting behavior.
Expanding selection

Expanding the selection is supported and can be disabled. It does not require any additional work it to work. Try it out on other examples!
Lock rows
It might be desirable to lock rows. Here the user cannot insert or delete rows, even when using keyboard shortcuts or when pasting large data-set. More details on grid options.
Disable columns or cells
Columns can be disabled entirely, or on a per-row basis.
Disabling a column prevents the user from editing its cells, including any pasting or deleting operation. The user can still copy the value of a disabled column. More details on disabling columns and cells.
Try toggling the "active" column: