このページでは、次の図のようなレポートを作成する際のポイントとして、以下の機能の使用方法を説明します。なお、本レポートの完成版となるサンプルプロジェクトはこちらからダウンロードできます。
Listコントロールを使用した繰り返し出力
Listコントロールを使用したデータのオーバーフロー
本レポートでは、次のデータを使用します。
Listコントロールは、配置した領域内のコントロールをデータセットのレコードに応じて繰り返し出力できます。
レポートの余白を設定します。
デザイン領域の用紙の外側領域をクリックして「レポート」を選択し、[余白]の[サイズ]プロパティを「0.5cm 1cm 0.4cm 1cm」に設定します。
Listコントロールを配置し、大きさを調整します。
[位置とサイズ]の[幅]プロパティを「6.668cm」、[高さ]プロパティを「4.3cm」に設定します。もしくはマウスでドラッグしてそのような大きさになるように調整します。
Listコントロール内にShapeコントロールを配置し、位置や大きさ、背景色などを調整します。
[位置とサイズ]の[幅]プロパティを「6.668cm」、[高さ]プロパティを「4.3cm」、[背景色]プロパティを「MistyRose」、[罫線]の[色]プロパティを「OrangeRed」に設定します。
データセットから「郵便番号」をShapeコントロールの中にドラッグ&ドロップします。
位置とサイズを調整し、値が数値型に変換されるように関数を設定します。
位置とサイズを調整し、[値]プロパティを「{ToInt32(郵便番号)}」に変更します。これはこの後の手順で設定する表示形式において、数値型のデータが必要になるためです。この関数の詳細については、変換を参照してください。
テキストの表示形式を設定します。
[テキスト]の[表示形式]を「000-0000」に設定し、ハイフンを含んだ形式で郵便番号が出力されるようにします。表示形式の詳細については、データの表示形式を参照してください。
背景色を透明にし、テキストを左揃えに設定します。
[背景色]プロパティを「Transparent」に設定し、[水平方向の整列]プロパティを「Left」に設定します。
そのほかのTextBoxコントロールも同様の手順で配置、設定します。
次の図のように住所や会社名などを出力するTextBoxコントロールを配置し、各種プロパティの設定を行います。
Barcodeコントロールを配置し、各種設定を行います。
「住所表示番号」にデータ連結し、[値]プロパティを「{住所表示番号}」に設定し、[シンボル]の[種類]を「Japanese Postal」に設定します。位置やサイズは適宜設定してください。
Listコントロールの拡張領域を設定します。
直接選択しようとした場合、前面に配置されているShapeコントロールが選択されてしまうため、左側のツールボックスにある[エクスプローラ]をクリックし、そこから対象のListコントロールを選択します。拡張領域は、[●]アイコンをマウスでドラッグする方法でも変更できますし、[固定の高さ]プロパティを設定することでも変更可能です。
Listコントロール上に作成したレイアウトがデータセットのレコードに応じて拡張領域に繰り返し出力されることを確認できます。
Tableデータ領域と同様に、ListコントロールもOverflowPlaceHolderコントールを使用して、領域からあふれたデータを別の場所に出力することができます。
OverflowPlaceHolderコントールを配置し、位置とサイズを調整します。
次の図のようにOverflowPlaceHolderコントールを配置し、[名前]プロパティの値が「OverflowPlaceHolder1」となっていることを確認します。
Listコントールのオーバーフローデータの連結先を設定します。
Listコントールを選択し、[オーバーフローデータの連絡先]プロパティを「OverflowPlaceHolder1」に設定します。OverflowPlaceHolderコントールの表示が「List1 オーバープレースホルダ」に変わっていることを確認します。
同様の手順でもう1つOverflowPlaceHolderコントールを配置し、オーバーフローデータの連結先を設定します。
OverflowPlaceHolder1の[オーバーフローデータの連絡先]プロパティを「OverflowPlaceHolder2」に設定します。OverflowPlaceHolderコントールの表示が「OverflowPlaceHolder1 オーバープレースホルダ」に変わっていることを確認します。
Listコントロールで配置したレイアウトが縦3列表示で繰り返し出力されている結果を確認できます。