rbWiki > Design > Pagination > Forcing Group Headers to Start on Odd Pages

Forcing Group Headers to Start on Odd Pages

Table of contents
No headers

Question: "I have a report that is printing duplexed and therefore I want to force the group headers to
start on odd pages."

Solution:

Using demo report #71 do the following:

  1. Add a subreport to the GroupFooter band, just below the existing controls.
  2. Set the subreport's PrintBehavior property to pbSection - do not add any controls to the subreport - leave it blank.
  3. Add a Private field to the form: FPrintingSpacer: Boolean.
  4. Add an event handler for the FormCreate event with the following code:
  5.  FPrintingSpacer := False;
  6. Add an event handler for the ppOrderDetailGroupFooterBand1BeforePrint event with the following code:
  7.  if not FPrintingSpacer then
        begin
          ppSubReport1.Visible := odd(ppOrderDetail.AbsolutePageNo) and 
            not ppOrderDetailGroupFooterBand1.Overflow;
          FPrintingSpacer := ppSubReport1.Visible;
        end
      else
        FPrintingSpacer := False;
  8. Run the project and view report #71.

Note that when a group is to start, it will only start on an odd page.

Caveats: We are brute-forcing this solution by causing the even numbered page to be taken up by the section style subreport. As a result, any page headers or footers you have in the main report will not appear on the even pages that are blank. To get around this, you could add identical header/footers or custom header/footers with only page numbers, or some such.

Tags
none

Files (0)

 
You must login to post a comment.