Report Controls

Unlike a form, a report can "display" an arbitrarily large number of rows of data, depending only on the number of rows returned from the server database. The basic mechanism is that the report retrieves data for its outer block, and then writes one set of values for each row. If the outer block contains a nested inner block, then it will perform the same for the nested block, repeatedly for each row fetched by the outer block (and so on if there are further nested blocks).

The report also outputs headers and footers at the beginning and end of a block, and whenever it starts a new page. It will start a new page when there is insufficient space left on the current page for another row and the footers of the current and outer blocks. You can also set a block to start a new page (irrespective of whether there is sufficient space left) for every record, or to start a new page immediately after the last row is output.

For each row, the report advances down the output page by a distance equal to the height of the block in the report design, less the height of the block header and footer.

Field

A field control is a simple one-line text control. You can set various properties such as font and colour.

Link

This operates like a link control in a form, except that the linked value is output in text.

Pixmap

A pixmap control can display an image. The same set of image formats will be available as for a form pixmap.

Graphic

A graphic control can display an image. The same set of image formats will be available as for a form graphic.

Summary

A summary control is a simple one-line text control like a field. However, rather than display individual values, it calculates a summary (currently, min, max and total are supported).

A typical use is in the footer of a report block, where it can be used to generate a summary from each row which is output as part of the block.

The control can be set to reset on every page throw (for per-page summaries); otherwise, it effectively resets at the end of the block in which it is embedded.

Label

This is a simple text label. Unlike a form label, the text is not displayed as QT ricj text. The text is fixed except that it can be changed from a script.

Headers and Footers

The report designer automatically adds headers and footers to blocks which it considers to be large enough ( Currently, there is no way to add headers and footers to a block which lacks them, nor to remove them from a block where thay are not required (though you can collapse them to say a single pixel height). ) . Headers and footers can contain any of the above controls.