Reporting

The following table presents a summary of the section types and their usage:

Section TypeDescription
Page HeaderThis section is printed at the top of every page. For example, use the page header to repeat the report title on every page. Since the paging of a report strongly depends on the format it is rendered to, this section and its items are processed by the corresponding rendering extension after the report data has been processed. At this moment the report data source is not available anymore and due to this you can use the built-in PageNumber and PageCount objects (which contain the current page number and the total report pages count) only in this section. It is possible to suppress the printing of the Page Header section on the first and last page of a report, but the space taken up would always be reserved no matter whether it is visible.
Report HeaderThis section is printed just once, at the beginning of the report. Use the report header for information that might normally appear on a cover page, such as a logo, a title, or a date. In the Report Header section all data fields must be aggregated, even if the data source returns only one row. Typically you should use the FIRST() function for character and date data and the SUM() function for numeric data. When you place a databound report item that uses an aggregate function in the report header, it is calculated for the entire report data.
Group HeaderThis section is printed at the beginning of each new group of records. Use the group header to print the group name. For example, in a report that is grouped by product, use the group header to print the product name. In the Group Header section all data fields must be aggregated, even if the data source returns only one row. Typically you should use the FIRST() function for character and date data and SUM() function for numeric data. When you place a databound report item that uses an aggregate function in the Group Header, it is calculated for the entire group data.
DetailThis section is printed once for every row in the data source. This is where you place the report items that make up the main body of the report.
Group FooterThis section is printed at the end of each group of records. Use a group footer to print summary information for a group. Similar to the Group Header section, you should always use aggregate functions for the databound items that are calculated for the group data.
Report FooterThis section is printed just once, at the end of the report. Use the report footer to print report totals or other summary information for the entire report. Similar to the Report Header section, you should always use aggregate functions for the databound items that are calculated for the entire report data.
Page FooterThis section is printed at the end of every page. Use a page footer to print page numbers or per-page information. Similar to the Page Header Section you cannot use databound items, but can access the PageNumber and PageCount objects. It is possible to suppress the printing of the Page Footer section on the first and last page of a report, but the space taken up would always be reserved no matter whether it is visible.

See Also