API version 4
- ‐
PrintRegion¶
PrintFormに表形式のデータを表示するためのクラスです。
PrintRegionクラスはPrintRecordクラス、TextField/ImageFieldクラスと協調して動作します。
表データを格納するためには、PrintRegion オブジェクトの下位に定められた構造でPrintRecordオブジェクト、TextField/ImageFieldオブジェクトを配置する必要があります。
クラス |
説明 |
|---|---|
見出し行定義するクラスです。 この下にHeaderFieldを配置します。 |
|
見出し列を指定するクラスです。 |
|
行定義するクラスです。 この下にTextField、ImageFieldを配置します。 |
|
文字表示セルを指定するクラスです。 |
|
画像表示セルを指定するクラスです。 |
PrintRecordは表示データの1レコードに対応し、PrintRecordの下に配置したTextField/ImageFieldは、横に順番に配置されて1行分の表示になります。
1レコードで2段のレイアウトにすることはできません。
PrintHeaderの下に配置したHeaderFieldは、横に順番に配置されて1行分の見出し表示になります。
HeaderField(見出し列)はPrintRecord中の同じ順番位置のTextField(データ表示列)と一対一対応となり、複数のデータ表示列の見出しを1つにまとめることはできません。
HeaderFieldのwidthプロパティに設定した値がその列の表示幅になり、PrintRecord下の各セルのwidth指定は無視されます。
ただし、HeaderFieldのwidthプロパティが0(未設定)の場合は、PrintRecordの1行目から順番に、対象列のTextField/ImageFieldでwidthが設定されている(値が0でない)ものを探し、最初に見つけた設定値を列の幅とします。
データの流し込み方法¶
行データを流し込むには、PrintRecordを可変長配列(PrintRecord rec[] { ... })として宣言したうえで、
PrintRegionオブジェクトに対して << 演算子でCSVデータを読み込む方法が簡単です。
可変長配列で宣言したPrintRecordは、読み込んだデータの行数に合わせて自動的に要素数が拡張されます。
PrintRegion printregion1 {
PrintHeader printheader1 {
height = 16;
HeaderField header[3] { width = 70; }
}
PrintRecord rec[] {
height = 16;
TextField item[3];
}
}
printregion1 << CSV {
"列1","列2","列3"
AAA,XXX,111
BBB,YYY,222
};
1ページに表示する行数を固定したい場合は pageRows プロパティを指定します(既定値の0の場合、表示可能なPrintRecordの数に合わせて自動改ページされます)。
PrintRecordを固定長配列や単体で複数個宣言し、それぞれに個別のデータを設定する(配列に含めない)方法も可能です。詳細は << 演算子の説明を参照してください。