次の方法で共有


レポートのデータ ソースの作成

クライアント レポート定義 (.rdlc) ファイルには、レポートによって使用されるデータ ソース構造を定義するデータセット要素が含まれています。レポート定義でデータを使用するには、レポートにデータセットを 1 つ以上追加する必要があります。データセットを作成した後で、特定のフィールドをレポートのデータ領域またはテキスト ボックスにドラッグします。

クライアント レポート定義 (.rdlc) ファイルは、ローカル レポートとして ReportViewer コントロールで処理されます。サーバー レポートと異なり、ローカル レポートでは、レポートを ReportViewer コントロールで処理する前に、データを処理しておく必要があります。ローカル レポートでは、DataTable として指定できるソース、またはビジネス オブジェクトの IEnumerable コレクションとして指定できるソースであれば、どのソースのデータでも使用できます。データ テーブルまたはビジネス オブジェクトは、レポートで使用できるフィールドの一覧を返します。各フィールドには、データベース フィールドおよび名前プロパティ、オブジェクト データ ソースのフィールド、または DataTable の列へのポインターが含まれています。[レポート データ] ウィンドウのフィールドを、レポートのデザイン サーフェイスにドラッグすることができます。

プロジェクトのデータ ソースの構成

ビジネス オブジェクトの DataSet または IEnumerable 列挙体をレポート データ ソースとして設定する際には、次の方法を使用することをお勧めします。データ ソースが構成された後で、DataSet またはビジネス オブジェクトをレポートにバインドできます。

データ テーブルの使用

DataTable を作成するには、[プロジェクト] メニューの [新しい項目の追加] コマンドを使用し、DataSet オブジェクトを選択します。ツールボックスから TableAdapterDataSet エディターにドラッグして、TableAdapter ウィザードを使用して DataTable を構成します。TableAdapter ウィザードでは、クエリ結果をすぐに確認できるようにクエリ ビルダーとデータ プレビュー機能が提供されています。

ビジネス オブジェクトの使用

ビジネス オブジェクトは、単純データ型のパブリック プロパティを公開するアプリケーション オブジェクトです。たとえば、アプリケーションで作成された一連の Book Title オブジェクトはビジネス オブジェクトであり、レポートのデータ ソースとして使用できます。

クラスをデータ ソースとしてアクセスできるようにするには、そのクラスで IEnumerable を返すメソッドまたはプロパティを公開する必要があります。クラス、またはクラスのアセンブリへの参照を、プロジェクトに追加できます。

ビジネス オブジェクトを使用するための手順は、Windows フォーム プロジェクトと ASP.NET プロジェクトで異なります。Windows フォームでビジネス オブジェクトを使用する手順については、「チュートリアル : ローカル処理モードでのビジネス オブジェクト データ ソースと ReportViewer Windows フォーム コントロールの使用」を参照してください。ASP.NET でビジネス オブジェクトを使用する手順については、「チュートリアル : ローカル処理モードでのビジネス オブジェクト データ ソースと ReportViewer Web サーバー コントロールの使用」を参照してください。

レポートへのデータのバインド

レポート定義 (.rdlc) ファイルは、必要なデータが含まれている DataSet オブジェクトまたはビジネス オブジェクトにバインドされます。レポート ウィザードを使用してレポートを作成する場合、ウィザードの手順に従って、必要なデータが含まれている DataSet オブジェクトを作成し、それをレポートにバインドします。また、[レポート データ] ウィンドウを使って、手動で DataSet オブジェクトまたはビジネス オブジェクトをレポートにバインドすることもできます。このウィンドウには、レポートにバインドされているすべてのデータセットが、DataSet オブジェクトごとにグループ化されて表示されます。

データセットをレポートにバインドするには

  1. レポート デザイナーの [レポート データ] ウィンドウで、[新規作成] をクリックした後、[データセット] をクリックします。

  2. [データ ソース] ボックスの一覧で、作成した DataSet オブジェクトを選択します。新しい DataSet を作成するには、[新規作成] をクリックし、Visual Studio のデータ ソース構成ウィザードの手順に従います。ビジネス オブジェクトを作成した場合は、[グローバル] を選択し、ビジネス オブジェクトにアクセスします。

  3. [使用できるデータセット] ボックスの一覧で、バインド先のデータを選択します。このボックスには、使用できる DataTable オブジェクトまたはビジネス オブジェクトが表示されます。

  4. [名前] ボックスで、このデータセットの名前を指定し、[OK] をクリックします。

レポートを定義した後で DataSet スキーマを変更する場合は、レポートおよびコントロールのデータ バインドを更新する必要があります。詳細については、「データ ソース参照の更新および再バインド (Visual Studio レポート デザイナー)」を参照してください。

レポートには、データセットをいくつでも含めることができます。レポートで実際に使用されるデータセットの一覧を表示するには、[表示] メニューの [レポート データ] をクリックします。アプリケーションでレポートとそのデータを表示するには、アプリケーションをビルドまたは配置して、レポートに目的のデータが含まれていることを確認する必要があります。コントロールの構成およびレポート レイアウトの定義の詳細については、「ローカル処理のための ReportViewer の構成」および「クライアント レポート定義 (.rdlc) ファイルの作成」を参照してください。

すぐに作業を開始するには、次のチュートリアルを使用して、各種類のデータ ソースをプロジェクトに追加する方法を学習します。

ReportViewer Web サーバー コントロールのデータ ソースの定義

データ ソース コントロールでは、データ アクセス層の抽出がサポートされているので、Web ページ上のコントロールはデータ ソースにバインドされ、このデータ ソースは実際のデータにバインドされます。これにより、データの 1 つずつにすべてのコントロールを再バインドしなくても、データ ソースを効率的に変更できます。

Web ページをデザインする場合、ツールボックスの [データ] セクションに、SqlDataSourceXmlDataSource のようないくつかのデータ ソース コントロールが一覧表示されます。データ ソース コントロールには、Web ページのページ メモリをサポートするものと、共有データを使用するものがあります。レポートではページ メモリが使用されないので、ReportViewer Web サーバー コントロールには、ObjectDataSource コントロールの使用をお勧めします。このコントロールは、インメモリ キャッシュ オブジェクト (DataTable またはビジネス オブジェクトのコレクション) とレポートをつなぐ役割を果たします。ReportViewer コントロールを Web ページに追加すると、ObjectDataSource コントロールは自動的に追加および構成されます。

関連項目

参照

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

概念

リモート処理用の ReportViewer の構成

データ ソース参照の更新および再バインド (Visual Studio レポート デザイナー)

その他の技術情報

TableAdapter Overview

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