Home/Import & Export/Print / PDF Layout
Import & Export

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.

or hover the grid (or click a cell) and press Ctrl/Cmd + P — a banner reports “Printed N of 120” until you scroll to load the rest
ID
Name
Department
Location
Salary
1
Alice Smith
Engineering
Remote
60000
2
Bob Johnson
Design
Cairo
61373
3
Carol Williams
Product
Berlin
62746
4
David Brown
Sales
London
64119
5
Emma Jones
Support
Austin
65492
6
Frank Miller
Engineering
Remote
66865
7
Grace Davis
Design
Cairo
68238
8
Henry Wilson
Product
Berlin
69611
9
Isabel Clark
Sales
London
70984
10
Jack Turner
Support
Austin
72357
11
Karen Smith
Engineering
Remote
73730
12
Liam Johnson
Design
Cairo
75103
13
Mia Williams
Product
Berlin
76476
14
Noah Brown
Sales
London
77849
15
Olivia Jones
Support
Austin
79222
16
Peter Miller
Engineering
Remote
80595
17
Quinn Davis
Design
Cairo
81968
18
Rachel Wilson
Product
Berlin
83341
19
Sam Clark
Sales
London
84714
20
Tina Turner
Support
Austin
86087
21
Alice Smith
Engineering
Remote
87460
22
Bob Johnson
Design
Cairo
88833
23
Carol Williams
Product
Berlin
90206
24
David Brown
Sales
London
91579
25
Emma Jones
Support
Austin
92952
40 / 120 records

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.

PropertyTypeDefaultDescription
config.printboolean | GridPrintConfigfalsetrue 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.maxRowsnumber10000Cap on how many data rows go into the print document.
print.titlestring—Report title rendered above the printed table. Omitted when absent.