Print / PDF Layout
Print the whole grid or save it to PDF — every loaded row laid out in the page flow with no inner scroll, a repeating clean header, and a loud banner when only a subset is loaded so a report is never silently truncated.
Print or save the grid to PDF
Turn on print: true and press Ctrl/Cmd+P while the
grid is hovered or focused — or click Print / Save as PDF, which calls grid.print().
The shortcut is scoped to the grid on purpose, so it never hijacks the browser's print shortcut for the rest of the page.
You get a clean, paginated report of the rows you're looking at, ready to send to a printer or save
straight to PDF.
It never silently prints half the table
Print emits the rows that are actually loaded. If your grid is paged or still loading more from the
server, the report states exactly what it contains — "Printed 40 of 120 rows" — so it is never
quietly truncated. Scroll down to load the rest first, then print, to get everything. Very large grids
are capped (default 10,000 rows); change it with print: { maxRows }.
Your grid never flinches
Most grids print by rearranging themselves — the table on screen visibly jumps, expands, and snaps back when the dialog closes. gridcraft doesn't touch it. It builds a separate, purpose-made print document from the rows you're looking at and prints that instead, so the grid you're working in stays exactly as it was, and nothing has to be put back afterwards.
Built for paper, not a screenshot of a screen
Because the printout is a real table rather than a copy of the on-screen layout, the column headers repeat at the top of every page, the rules between rows print as single crisp lines, numeric columns line up on the right, and the file stays small — a long report scrolls smoothly as a PDF instead of crawling.
Clean by default
The printout uses a light, readable layout that saves ink, and never splits a row across a page
break. Give the report a heading with print: { title: 'Q3 Report' }.
Complex tables stay intact
The report keeps the structure you see on screen — automatically, with nothing extra to turn on. Group headings, subtotals and grand totals all print their numbers under the right columns, tree rows keep their indentation, multi-level column headers print above the columns and repeat on every page, and right-to-left grids print right-to-left. One current limitation: merged (spanned) cells print their value in every row rather than as a single merged cell — the data is all there, only the visual merge is not.
Try it: click Print / Save as PDF now — in the print preview, choose Save as PDF. Watch the grid behind the dialog: it hasn't moved. Because only the first page of data is loaded, the report notes "Printed … of 120"; scroll the grid to load more rows, then print again to get them.
Print API
| Property | Type | Default | Description |
|---|---|---|---|
| config.print | boolean | GridPrintConfig | false | true lets Ctrl/Cmd+P print the grid (while it has focus) and exposes grid.print(). Pass an object to customise. |
| grid.print() | () => void | — | Print the rows currently displayed. Builds a standalone print document and prints it — the live grid is never modified. |
| print.maxRows | number | 10000 | Cap on how many data rows go into the print document. |
| print.title | string | — | Report title rendered above the printed table. Omitted when absent. |