This topic uses "Dynamic Page Header" report to demonstrate how to generate page header dynamically.
状況に応じてレポートのページごとに異なるページヘッダーを表示する動的ページヘッダーを生成したい場合があります。それには、PageHeader の OnFormat プロパティを使用します。
たとえば、レポートの偶数ページと奇数ページに異なるレポートヘッダーを表示したいとします。This can be done with script that shows or hides sections depending on the page being rendered. In this report, the page header contains two sub-sections, one is used on odd pages and the other on even and their visibility is toggled using a script in the OnFormat property of PageHeader. Therefore, the page header section changes according to the current page number. The report also suppresses the page header on the first page by setting the Layout.PageHeader property to NotWithReportHdr. Perform the following steps to see how this can be done.
SELECT Categories.*, Products.*
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID
PageHeader/<A> properties | Values |
---|---|
TextField1.Text | ="Page " & [Page] & " (ODD)" |
TextField2.Text | =Now() |
PageHeader/<B> properties | Values |
---|---|
TextField3.Text | =Now() |
TextField4.Text | ="Page " & [Page] & " (EVEN)" |
odd = (page mod 2 <> 0)
PageHeader.SubSections(0).Visible = odd
PageHeader.SubSections(1).Visible = not odd
Property | Value |
---|---|
GroupBy | CategoryName |
Keep Together | KeepFirstDetail |
Sort | Ascending |
ShowGroupFooter | False |
ShowGroupHeader | True |
OutlineLabel | =CategoryName |
Property | Value |
---|---|
TextField6.Text | Product Name |
TextField7.Text | Quantity Per Unit |
TextField8.Text | Unit Price |
TextField9.Text | In Stock |
Property | Value |
---|---|
TextField10.Text | =left(ProductName, 30) |
TextField11.Text | =QuantityPerUnit |
TextField12.Text | =UnitPrice |
TextField13.Text | =UnitsInStock |
Preview the report with dynamic page header.
メモ: レポートの完全なサンプルについては、ComponentOne Samples\Winforms\C1FlexReport\CS\FlexCommonTasks フォルダにある FlexCommonTasks.flxr レポート定義ファイルの「Dynamic Page Header」レポートを参照してください。使用するデータベース C1NWind.mdb も、ComponentOne Samples フォルダにあります。