グループ単位で改ページする(1ページ内に複数のグループを出力させない)
ページレポートまたはRDLレポートでは、グループ化の方法や、使用するデータ領域によって、グループ単位での改ページの方法が異なります。以下の内容をご覧ください。
ページでデータをグループ化する場合は、自動的にグループ単位で改ページが行われます。 グループが1つしか存在しない場合は、こちらの方法をお勧めします。
データ領域でデータをグループ化する場合は、データ領域の[プロパティ設定ダイアログ]から改ページの設定を行います。グループが複数存在する場合は、こちらの方法を使用します。
例えば、Tableコントロールを使用してグループ単位で改ページする場合、以下のような手順になります。
なお、[末尾で改ページする]チェックボックス以外にも、[先頭で改ページする]チェックボックスの設定値が、改ページ動作に関連します。
グループ化の詳細については、「データのグループ化」および「データ領域でのグループ化」を参照してください。
数値フィールドに実行時にデータが表示されません
Visual Basicの構文では、数字から開始する識別子が許可されていないため、数値フィールド名が含まれる式では実行時にデータが表示されません。
例: =Fields!2004.Value
回避方法として、以下のように数値フィールド名を文字列に変更することで、データを表示できます。
=Fields("2004").Value
または、
=Fields.Item("2004").Value
日付データを和暦(平成yy年mm月dd日)で出力する
TextBoxコントロールのCalendarプロパティを使用することで実現可能です。
日付を和暦で表示したいTextBoxコントロールのCalendarプロパティを"Japanese"に設定し、Formatプロパティに"ggyy年MM月dd日"などの書式指定文字列を設定してください。
ラベル形式(A行×B列)のレポートを作成する
ListコントロールとOverflowPlaceHolderコントロールを使用することで、ラベル形式のレポートを作成することが可能です。
具体的なレイアウトについては、「レポートギャラリー サンプル」のTackSealレポートをご参照ください。
なお、上記のサンプルは、用紙の左上から下に向かってデータを出力し、用紙の一番下に達したら、次は右側の列に出力するようなレイアウト構成となっております。(セクションレポートにおける、ColumnDirectionプロパティ=DownAcrossと同じ状態)
出力方向などを変更したい場合は、コントロールの配置自体を変更する必要があります。
なお、ラベルの出力開始位置を調整する機能・方法は、ページレポートまたはRDLレポートには用意されておりません。レポートのデータソースに空のレコードを追加するなどして、開始位置を調整してください。
レポート上に動的に画像を表示させる
ImageコントロールのSourceプロパティを"External"に設定し、Valueプロパティに画像ファイルのパスなどを設定することで、表示する画像を動的に変更することが可能です。
また、Valueプロパティに「IIF関数」などを使用した「式」を設定することで、条件に応じて表示する画像を動的に変更することも可能です。
たとえば、以下のような式で、フィールド「ID」の値が奇数の時は、プロジェクトの「image」フォルダに含まれる"1.jpg"を、偶数の時は"2.jpg"を表示します。
=IIF(Fields!ID.Value mod 2 = 1,"image\1.jpg", "image\2.jpg")
また、以下のようにプロジェクトに含まれていない画像を表示させることも可能です。
=IIF(Fields!ID.Value mod 2 = 1,"c:\data\1.jpg", "c:\data\2.jpg")
レポートに行番号を出力する
TextBoxコントロールのValueプロパティに「式」としてRowNumber関数を設定することで行番号を出力できます。以下のような手順になります。
グループ毎に行番号をリセットしたい場合には、RowNumber関数の引数にそのグループを指定します。 たとえばBandedListコントロールで"BandedList1_Group1"というグループが設定されていると仮定し、このグループ毎に行番号をリセットしたい場合、"=RowNumber( BandedList1_Group1 )" のように設定します。