次の方法で共有


サブレポートおよびドリルスルー レポートの構成 (Visual Studio レポート デザイナ)

サブレポートやドリルスルー レポートを使用すると、関連するレポートをリンクできます。

  • サブレポートは、親レポートの本文内に埋め込まれるコントロールです。概念的に、サブレポートは、他の Web ページ コンテンツにコンテナを提供する Web ページ内のフレームに似ています。サブレポートは、そのサブレポートを含んでいる親レポート内に表示されます。どちらのレポートも同時に処理されて表示されます。

  • ドリススルー レポートは、レポート アイテムでドリルスルー アクションを設定すると開きます。通常このアクションによって、親レポートと同じ領域に、関連するレポートまたはパラメータが異なる同一のレポートが開きます。ドリルスルー レポートは通常、データを介して親レポートに関連付けられています。一般的なドリルスルー レポートの例は、月次売上レポートです。このレポートには、その月の個々の販売注文へのリンクがあります。ドリルスルー リンクをクリックすると、親レポートが、サポートする詳細を提供する別のレポートに置換されます。

ドリルスルー レポートとサブレポートはどちらも、親レポートと子レポートの概念をサポートしています。レポートを関連付けるには、リレーションシップを設定するデータを渡すために使用できるレポート パラメータを作成する必要があります。実行時にレポートをリンクするには、その接続をサポートするコードを記述する必要があります。関連するレポートを配置するときは、ファイル システムの同じフォルダにクライアント レポート定義 (.rdlc) ファイルが一緒に保存されるようにしてください。

次のイベントには、ReportViewer コントロールでのサブレポートおよびドリルスルー アクションの実装方法を示すサンプル コードが含まれています。

レポートにドリルダウンの対話機能を含める方法については、「レポート アイテムを非表示にする方法と、レポート アイテムの表示切り替えを定義する方法 (Visual Studio レポート デザイナ)」を参照してください。

サブレポートの追加

サブレポートとその親レポートは、共有パラメータによって関連付けることができます。まず、各レポートにパラメータを追加します。そのパラメータは、親レポートにサブレポートを追加する前に構成する必要があります。サブレポートを追加するときは、サブレポートにパラメータを渡すように親レポートを設定します。

サブレポートを追加するには、次の操作を行います。

  1. グラフィック デザイン モードでクライアント レポート定義ファイル (.rdlc) を開きます。

  2. ツールボックスの [サブレポート] をクリックします。

  3. デザイン画面で、サブレポートを任意のサイズにドラッグします。または、デザイン画面をクリックして、固定サイズのサブレポートを作成します。

    [!メモ]

    プロジェクトにサブレポートがある場合、ソリューション エクスプローラからデザイン画面にレポートをドラッグして、サブレポートを作成できます。

  4. サブレポートを右クリックし、[プロパティ] をクリックします。

  5. [サブレポート] で、サブレポート領域に表示するレポートを選択します。

  6. [パラメータ] タブで、次の操作を行います。

    • [パラメータ名] に、サブレポートのパラメータ名を入力します。この名前は、ReportName プロパティで名付けたレポートのレポート パラメータと一致する必要があります。

    • [パラメータ値] に、サブレポートに渡す値を入力します。この値には、静的テキストか、親レポートのフィールドまたは他のオブジェクトをポイントする式を使用できます。

  7. 手順 2. を繰り返して、サブレポートに渡す別のパラメータを追加します。

[!メモ]

サブレポートに必要なすべてのパラメータを [パラメータ] 一覧に含める必要があります。必要なパラメータがない場合、サブレポートは親レポート内に正しく表示されません。

サブレポートにデータを提供するには、アプリケーションで LocalReport オブジェクトの SubreportProcessing イベントを処理する必要があります。SubreportProcessing イベント ハンドラ メソッドに渡される引数の 1 つは、SubreportProcessingEventArgs です。イベント ハンドラでは、アプリケーションによって、SubreportProcessingEventArgsParameters プロパティを使用してサブレポートに渡されるパラメータの値が確認されます。次に、SubreportProcessingEventArgsDataSources プロパティを使用してサブレポートにデータを提供する必要があります。

ドリルスルー レポートの構成

ドリルスルー レポートを構成するには、サポートするデータが含まれているセカンダリ レポートへのナビゲーションを親レポートから提供する、ドリルスルー アクションを定義します。

通常、ドリルスルー レポートには、親レポートから渡されるパラメータが含まれています。売上要約レポートの例では、ドリルスルー レポートには注文を値として受け取るパラメータが含まれています。要約レポートには、各注文番号に対応するドリルスルー レポート リンクが含まれていて、リンクがクリックされると対応する詳細レポートが開かれ、この詳細レポートに注文 ID が渡されます。

レポート サーバーに格納されるレポートはすべて、ドリルスルー レポートとして使用できます。ドリルスルー リンクは、テキスト ボックスおよび画像にのみ追加できます。

ドリルスルー レポート リンクを追加するには、次の操作を行います。

  1. グラフィック デザイン モードでクライアント レポート定義ファイル (.rdlc) を開きます。

  2. リンクを追加するテキスト ボックスまたは画像を右クリックし、[プロパティ] をクリックします。

  3. [ナビゲーション] タブで、[レポートに移動] をクリックします。

  4. レポート名を入力または選択します。レポートは、同じプロジェクトの一部である .rdlc ファイルにする必要があります。

  5. ドリルスルー レポートに渡すパラメータを設定するには、[パラメータ] をクリックして、次の操作を行います。

    • [パラメータ名] に、ドリルスルー レポート内のレポート パラメータの名前を入力します。

      [!メモ]

      パラメータの一覧にある名前は、対象となるレポートで予測されるパラメータと正確に一致する必要があります。これらの名前が一致しない場合、または予測されるパラメータが一覧にない場合は、ドリルスルー レポートは失敗します。

    • [パラメータ値] には、ドリルスルー レポートのパラメータに渡す値を入力または選択します。

      [!メモ]

      レポート パラメータに渡す値には、結果が値になる式を指定できます。値の一覧にある式には、現在のレポートのフィールドの一覧が含まれています。

ドリルスルー レポートにデータを提供するには、アプリケーションで ReportViewer オブジェクトの Drillthrough イベントを処理する必要があります。Drillthrough イベント ハンドラ メソッドに渡される引数の 1 つは、DrillthroughEventArgs です。DrillThroughEventArgs には、ドリルスルー レポートを表す Report プロパティがあります。イベント ハンドラでは、ホスト アプリケーションによって、ドリルスルー レポートで GetParameters() メソッドを呼び出して、ドリルスルー レポートに渡されるパラメータの値が確認されます。次に、ドリルスルー レポートの DataSources プロパティを使用してドリルスルー レポートにデータを提供する必要があります。

参照

概念

レポートでのレポート パラメータの定義 (Visual Studio レポート デザイナ)
レポートへの対話機能、表示設定、およびナビゲーションの追加 (Visual Studio レポート デザイナ)

その他のリソース

サンプルとチュートリアル