Skip to content

Page Headers and Footers

Peter Gill edited this page Jun 8, 2026 · 1 revision

Page Headers, Footers, and Page Numbers

Reports have five vertical bands. Understanding which band to use for which content is key to getting the right output.

Report bands

Band Appears Typical content
Report Header Once, at the very start of the report Cover page, title, run date
Page Header Top of every page Company logo, report title, column headings
Body Repeating data area Tables, lists, charts
Page Footer Bottom of every page Page numbers, confidentiality notice, print date
Report Footer Once, at the very end of the report Grand totals, signature blocks

Adding a page header or footer

By default, new reports have only a body. To add a header or footer:

  1. In the designer, go to Report → Page Header (or Page Footer) to toggle the band on.
  2. The band appears above or below the body on the design surface.
  3. Drag items from the toolbox into the band — Textbox, Image, Line, etc.

To add a Report Header or Report Footer, use Report → Report Header / Report Footer.

Page numbers

Use the built-in globals in any expression inside a page header or footer:

={@PageNumber}                        simple page number: 1, 2, 3 …
={@TotalPages}                        total page count
="Page " & {@PageNumber} & " of " & {@TotalPages}

Place a Textbox in the page footer, set its Value expression to the formula above, and align it right for a standard footer.

Resetting page numbers per group

To restart page numbering at 1 for each group (e.g. each customer in a multi-customer report):

  1. Select the group in the table's grouping properties.
  2. Set NewSection to True on the group — this inserts a page break and resets {@PageNumber}.

Print date and execution time

="Printed: " & Format({@ExecutionTime}, "yyyy-MM-dd HH:mm")
="As of " & Format(Today(), "MMMM d, yyyy")

Suppress header/footer on specific pages

Set the Hidden expression on a header or footer item to conditionally hide it:

' Hide on the first page (cover page has its own header)
=IIf({@PageNumber} = 1, True, False)

' Show only on the last page
=IIf({@PageNumber} < {@TotalPages}, True, False)

To suppress the entire page header or footer on the first or last page, use the band's own PrintOnFirstPage and PrintOnLastPage properties (accessible via the band's property panel).

Company logo in the page header

  1. In the designer, add an Image item to the page header band.
  2. Set the image Source to Embedded and upload your logo file, or set Source to External and provide a file path or URL.
  3. Set Sizing to FitProportional to scale without distortion.
  4. Resize the image item to the desired logo dimensions.

See Images in Reports for full image configuration options.

Column headings that repeat on every page

If your report body contains a Table, the table's column heading row automatically repeats on every page — this is built into the Table data region and does not require a page header. To enable it:

  1. Right-click the heading row of the table.
  2. Open Row Properties.
  3. Set RepeatOnNewPage to True.

Use the page header band for content that sits outside the table (report title, logo, run date).

Page header/footer height

Drag the bottom edge of the header or footer band to resize it. Ensure the body height plus header and footer heights do not exceed PageHeight − TopMargin − BottomMargin, or the engine will overflow to an extra page.

Example: standard business report footer

Place three Textboxes side by side in the page footer:

Left Centre Right
=Format({@ExecutionTime}, "yyyy-MM-dd") ={@ReportName} ="Page " & {@PageNumber} & " of " & {@TotalPages}

Clone this wiki locally