I want to restrict the grid to one page when printing irrespective of the number of columns and rows.
Take a look at the "Fit To Page" sample on the customer are of our Web site. The sample provides mode for printing the whole grid on a single page. Changing the mapping mode of the device context does scaling.
The scaling factor is calculated in OnBeginPrinting. The printing is done in OnPrint. The mapping mode is set with DoPrepareDC.
Please note that headers and footers will not be zoomed. Only the grid area will be drawn with a different mapping mode.