レポートへのページ ヘッダーおよびページ フッターの追加 (Visual Studio レポート デザイナ)
レポートには、各ページの上部と下部にそれぞれヘッダーとフッターを配置できます。ヘッダーとフッターには、静的テキスト、画像、線、長方形、枠、背景色、背景画像などを含めることができます。データ バインドのフィールドや画像をヘッダーやフッターに直接追加することはできません。ただし、ヘッダーやフッターに使用するデータ バインドのフィールドまたは画像を間接的に参照する式を作成することはできます。
レポートのヘッダーとフッターは、テーブルやグループのヘッダーとフッターとは異なります。テーブルのヘッダーとフッターについては、「テーブル データ領域の追加 (Visual Studio レポート デザイナ)」を参照してください。レポートにヘッダーとフッターを作成する方法の詳細については、「ページ ヘッダーやページ フッターを、追加、非表示、削除する方法 (Visual Studio レポート デザイナ)」を参照してください。
[!メモ]
ページの処理は、レポートの出力形式によって異なります。詳細については、「レポートのページ サイズと改ページの定義 (Visual Studio レポート デザイナ)」を参照してください。
最初のページのヘッダーとフッターを非表示にする
ページのヘッダーとフッターは、既定ではレポートの最初のページと最後のページに表示されます。ヘッダーまたはフッターの PrintOnFirstPage プロパティと PrintOnLastPage プロパティを変更すると、最初のページと最後のページのヘッダーとフッターを非表示にすることができます。
ページ ヘッダーまたはページ フッターへの変数データの表示
ページ ヘッダーおよびページ フッターには静的なコンテンツを含めることもできますが、一般的にはページ番号やページのコンテンツに関する情報などの動的なコンテンツを表示します。ページごとに異なる変数データを表示するには、式を作成する必要があります。ヘッダーまたはフッターに変数データを配置するには、次の手順を実行します。
ヘッダーまたはフッターにテキスト ボックスを追加します。
テキスト ボックスに、表示する変数データを生成する式を入力します。
式に、ページのレポート アイテムへの参照を含めます (たとえば、特定のフィールドのデータを含んだテキスト ボックスを参照できます)。データセットのフィールドへの直接参照は含めないでください。
ページ ヘッダーまたはページ フッターのテキスト ボックスからフィールドを直接参照することはできません (たとえば、式 =Fields!LastName.Value
は使用できません)。
ページ ヘッダーまたはページ フッターにフィールド情報を表示するには、レポート本文内のテキスト ボックスにフィールド式を配置し、そのテキスト ボックスをページ ヘッダーまたはページ フッターで参照します。次の式では、TXT_LastName というテキスト ボックスの最初のインスタンスの内容が表示されます。
=First(ReportItems!TXT_LastName.Value)
ページ ヘッダーまたはページ フッターのフィールドに集計関数は使用できません。集計関数を使用できるのは、前述の First() 関数と同様にレポート アイテムだけです。ページ ヘッダーとページ フッターに使用する一般的な式の詳細については、「レポートの一般的な式 (Visual Studio レポート デザイナ)」を参照してください。
このトピックの次のセクションでは、ヘッダーとフッターによく使用される変数データを取得する式を示します。これらの式はそのまま利用できます。また、Excel の表示拡張機能でヘッダーとフッターを処理する方法も説明します。式の詳細については、「レポートでの式の使用 (Visual Studio レポート デザイナ)」を参照してください。
ヘッダーまたはフッターへのページ番号の追加
通常、フッターにはページ番号が表示されます。レポートのヘッダーまたはフッターにページ番号を表示するには、フッターにテキスト ボックスを作成し、次の式を追加します。
=Globals.PageNumber & " of " & Globals.TotalPages
ヘッダーまたはフッターへのレポート名、パス、レポート実行時刻の追加
レポート サーバーのデータベースに保存されているレポートのタイトル (レポート名) と、レポートの生成時刻を示すタイムスタンプ情報を表示するには、次の式を使用します。
=ReportItems!ReportTitle.Value
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
ヘッダーまたはフッターへのデータ バインド画像の追加
データベースに保存されている画像データをヘッダーやフッターに使用できます。ただし、画像コントロールからデータベースのフィールドを直接参照することはできません。レポートの本文にテキスト ボックスを追加してから、画像を格納しているデータ フィールドにテキスト ボックスを設定する必要があります (値を base64 エンコード形式にする必要があります)。レポート本文のテキスト ボックスを非表示にすると、base64 エンコードの画像は表示されません。その後、ページのヘッダーまたはフッターにある画像コントロールから、非表示のテキスト ボックスの値を参照できます。
たとえば、製品情報ページで構成されたレポートを作成し、各ページのヘッダーに製品の写真を表示するとします。保存した画像をレポートのヘッダーに出力するには、データベースから画像を取得する TXT_Photo という非表示のテキスト ボックスをレポートの本文に定義し、式を使用して値を挿入します。
=Convert.ToBase64String(Fields!Photo.Value)
ヘッダーに画像コントロールを追加します。これは TXT_Photo テキスト ボックスを使用し、画像を表示するためにデコードされています。
=Convert.FromBase64String(ReportItems!TXT_Photo.Value)
ヘッダーまたはフッターへの算出したページ合計の追加
レポートによっては、各レポートのヘッダーやフッターに計算値を含めると便利です (たとえば、ページに数値が含まれている場合はページごとの合計)。フィールドを直接参照できないので、ヘッダーまたはフッターに含める式は、データ フィールドではなくレポート アイテム (テキスト ボックスなど) の名前を参照する必要があります。
=Sum(ReportItems!Textbox1.Value)
テキスト ボックスがデータ行の繰り返しを含むテーブルまたは一覧に含まれている場合、実行時にヘッダーやフッターに表示される値は、現在のページのテーブルまたは一覧のすべての TextBox1 インスタンス データのすべての値の合計になります。
ページ合計を計算するとき、レポートの表示に使用する表示拡張機能によって合計が異なる場合があります。改ページされた出力はそれぞれの表示拡張機能によって計算方法が異なります。HTML で表示したページを PDF で表示すると、PDF ページのデータ量が異なる場合に、表示される合計が異なる可能性があります。
ヘッダーとフッターを使用したテキストの配置
ヘッダーとフッターを使用して、ページにテキストを配置できます。たとえば、顧客に郵送するレポートを作成しているとします。折りたたんだときに封筒の窓に顧客の住所が表示されるように、ヘッダーとフッターを使用して住所を配置できます。
ヘッダーとフッターにデータを入力するためだけにテキスト ボックスを使用している場合は、レポート本文でテキスト ボックスを非表示にすることができます。レポート本文のテキスト ボックスの配置は、値がレポートの最初または最後のページのヘッダーまたはフッターのどこに表示されるか影響する場合があります。たとえば、レポートの複数ページにまたがるテーブル、マトリックス、一覧などがある場合、非表示のテキスト ボックスの値は最後のページに表示されます。最初のページに表示する場合は、非表示のテキスト ボックスをレポート本文の一番上に配置します。
Excel でのページ ヘッダーとページ フッターの操作
Excel の表示拡張機能を使用するレポートのページ ヘッダーおよびページ フッターを定義するには、次のガイドラインに従うことをお勧めします。
ページ番号を表示するには、ページ フッターを使用します。
画像、タイトル、その他のテキストを表示するには、ページ ヘッダーを使用します。ヘッダーにページ番号を配置しないでください。
Excel ではページ フッターのレイアウトに制限があります。ページ フッターに複雑なレポート アイテムを含んだレポートを定義すると、レポートを Excel で表示した場合に、ページ フッターが期待どおりに処理されません。
Excel の表示拡張機能では、ページ ヘッダーに画像を挿入し、単純または複雑なレポート アイテムを絶対的な位置に配置することができます。複雑なページ ヘッダー レイアウトをサポートすると、ヘッダーのページ番号の算出機能の低下を招きます。Excel の表示拡張機能の既定の設定では、ページ番号がワークシート数に基づいて算出されます。したがって、レポートの定義方法によっては、ページ番号が正しく生成されない可能性があります。たとえば、印刷すると 4 ページになる大きなワークシートを 1 枚として表示するレポートがあるとします。ヘッダーにページ番号情報を含めた場合、印刷する各ページのヘッダーに "1/1 ページ" と表示されます。
印刷ページの寸法に関連付けられた論理的なページに基づいてページ カウントを算出すると、より正確になります。Excel では、ページ フッターが論理的なページ番号を自動的に使用します。ページ ヘッダーに論理的なページ カウントを挿入するには、デバイス情報設定で単純なヘッダーを使用するように設定する必要があります。ただし、単純なヘッダーを使用する場合、ヘッダー領域で複雑なレポート レイアウトを処理する機能を使用できません。
参照
処理手順
ページ ヘッダーやページ フッターを、追加、非表示、削除する方法 (Visual Studio レポート デザイナ)