rbWiki > Design > Pagination > Forcing a Page Break

Forcing a Page Break

Table of contents
  1. 1. TECH TIP: Forcing a Page Break

TECH TIP: Forcing a Page Break

Question:  "How can I force a page break occur based upon a condition calculated at run-time."

Two of the best solutions follow:

Solution 1:

Define a Group that starts on a new page when it breaks. Then use the Group.OnGetBreakValue
event to control the timing of the break.

  1. From the Report Designer, select Report | Groups to access the Group dialog.
  2. Define a group based upon a static component, such as a Label or Variable. Click the Start new page checkbox. Close the dialog.
  3. Using the object inspector's drop down list, find and select the TppGroup object.
  4. Create an event-handler for the Group's OnGetBreakValue event.
  5. Add code to set the break value.   
  procedure Form1.Group1OnGetBreakValue(Sender: TObject; var aBreakValue: String);
begin

  if condition then
    aBreakValue := 'Some Value';

end;

Solution 2:

  1. Place a subreport at the point where you might want a page break.
  2. Remove its summary band and reduce the height of its detail and title bands to zero.

    By programmatically setting the title band's NewPage property you can conditionally force a page break. Note that everything after the subreport that is in the same band with it will need to ShiftRelativeTo the subreport.

Tags
none

Files (0)

 
You must login to post a comment.