Printing Listboxes - Multiple pages

I have an input form that has

  1. some header information including fields and text labels. All grouped as one object- “Header”
  2. a listbox “lbPrint”

The contents of the listbox may sometimes exceed the length of the page.

The goal is to print the header information and then a variable amount of pages of the listbox.

The code I am using is:

OPEN PRINTING JOB
FORM LOAD ([Table];"Print")

$fResult:= Print object (*;"Header")

$fOver:=False
Repeat
$fResult:= Print object (*;"lbData")
LISTBOX GET PRINT INFORMATION (*;"lbData";lk printing is over;$fOver)
PAGE BREAK
Until ($fOver)

CLOSE PRINTING JOB

Either of the calls to Print object alone prints the correct information. i.e. if I just run part of the code it is fine.

But when I call all of this code, the first call does not appear. I get a blank space on the page where the header information should appear. And then the listbox information as expected. i.e. the print calls are not stacked one on top of the other.

Ideas?

Small typo. It should read

  1. a listbox “lbData”

Mitch

Try printing the listbox “lbData” with the header height set to zero after page 1.
The footer height can be set to zero for all but the last page.

I see…not the listbox header. Does it make a difference if you ungroup the objects? As a test, print just one or two of the objects on the first page.

Thanks Keith. It prints individual objects but not a group of objects. Since there are many objects in the header, I just added a suffix to the object name and called

$fResult:= Print object (*;"@Header"
```)

My assumption that because the group had an object name, that it would print the all the elements was incorrect.

Mitch