サンプルレイアウト (2)ならびに (3)では明細行について、図形描画(四角形)の中に横書きテキストで表示しています。
これは、行の高さが固定の場合では有効ですが、明細行の高さがデータによって可変になる場合では不適切です。
見積書や明細書に代表される表形式での出力や、行の高さがデータによって可変になる場合は、「レコード」機能ではなく「フレームテーブル」機能を活用します。テーブル機能は、指定した領域(flow-area)内に表形式でデータを出力することができます。
本サンプルは、サンプルレイアウト (2)の明細行に備考欄を追加したものをフレームテーブル機能で出力するものです。
1ページ目ヘッダ |
共通ページヘッダ |
明細行レコード (1) |
明細行レコード (2) |
明細行レコード (3) |
明細行レコード (4) |
レイアウト a. |
共通ページヘッダ |
明細行レコード (5) |
明細行レコード (6) |
明細行レコード (7) |
明細行レコード (8) |
フッタ |
レイアウト b. |
フレームテーブル機能を活用したページレイアウトの作成方法は、以下のとおりです。
- 最初に、すべてのページで共通の表示領域を設定します(flow-area)。
- 1ページ目のヘッダを設定します。flow-tableの record-type属性を "header"に設定し、view属性を "layout"に設定します。
- 各ページ共通のヘッダを設定します。flow-tableの record-type属性を "header"に設定し、view属性を "page"に設定します。
- 明細行レコードを設定します。flow-tableの record-type属性を "details"に設定し、view属性を "layout"に設定します。flow-tableの line-height属性に値を指定しないと flow-table-cellの子ノードの <Label>や <multi-text>の高さが行の高さになります。複数のセルがある場合、子ノードの最大の高さが行の高さとなります。
- flow-table-cellの子ノードの <Label>や <multi-text>の高さが指定されていると行の高さは子ノードの高さの最大値になります。行の高さを可変にするには子ノードのコンポーネントの高さも指定しないようにしてください。
- 本サンプルでは、flow-tableと子ノードの両方の高さを指定しないようにします。
- フッタを設定します。flow-tableの record-type属性を "footer"に設定し、view属性を "layout"に設定します。
【PDF出力例】