レポートのデータ ソースの作成
クライアント レポート定義 (.rdlc) ファイルには、レポートによって使用されるデータ ソース構造を定義するデータセット要素が含まれています。レポート定義でデータを使用するには、レポートにデータセットを 1 つ以上追加する必要があります。データセットを作成した後で、特定のフィールドをレポートのデータ領域またはテキスト ボックスにドラッグします。
クライアント レポート定義 (.rdlc) ファイルは、ローカル レポートとして ReportViewer コントロールで処理されます。サーバー レポートと異なり、ローカル レポートでは、レポートを ReportViewer コントロールで処理する前に、データを処理しておく必要があります。ローカル レポートでは、DataTable として指定できるソース、またはビジネス オブジェクトの IEnumerable コレクションとして指定できるソースであれば、どのソースのデータでも使用できます。データ テーブルまたはビジネス オブジェクトは、レポートで使用できるフィールドの一覧を返します。各フィールドには、データベース フィールドおよび名前プロパティ、オブジェクト データ ソースのフィールド、または DataTable の列へのポインターが含まれています。[レポート データ] ウィンドウのフィールドを、レポートのデザイン サーフェイスにドラッグすることができます。
プロジェクトのデータ ソースの構成
ビジネス オブジェクトの DataSet または IEnumerable 列挙体をレポート データ ソースとして設定する際には、次の方法を使用することをお勧めします。データ ソースが構成された後で、DataSet またはビジネス オブジェクトをレポートにバインドできます。
データ テーブルの使用
DataTable を作成するには、[プロジェクト] メニューの [新しい項目の追加] コマンドを使用し、DataSet オブジェクトを選択します。ツールボックスから TableAdapter を DataSet エディターにドラッグして、TableAdapter ウィザードを使用して DataTable を構成します。TableAdapter ウィザードでは、クエリ結果をすぐに確認できるようにクエリ ビルダーとデータ プレビュー機能が提供されています。
ビジネス オブジェクトの使用
ビジネス オブジェクトは、単純データ型のパブリック プロパティを公開するアプリケーション オブジェクトです。たとえば、アプリケーションで作成された一連の Book Title オブジェクトはビジネス オブジェクトであり、レポートのデータ ソースとして使用できます。
クラスをデータ ソースとしてアクセスできるようにするには、そのクラスで IEnumerable を返すメソッドまたはプロパティを公開する必要があります。クラス、またはクラスのアセンブリへの参照を、プロジェクトに追加できます。
ビジネス オブジェクトを使用するための手順は、Windows フォーム プロジェクトと ASP.NET プロジェクトで異なります。Windows フォームでビジネス オブジェクトを使用する手順については、「チュートリアル : ローカル処理モードでのビジネス オブジェクト データ ソースと ReportViewer Windows フォーム コントロールの使用」を参照してください。ASP.NET でビジネス オブジェクトを使用する手順については、「チュートリアル : ローカル処理モードでのビジネス オブジェクト データ ソースと ReportViewer Web サーバー コントロールの使用」を参照してください。
レポートへのデータのバインド
レポート定義 (.rdlc) ファイルは、必要なデータが含まれている DataSet オブジェクトまたはビジネス オブジェクトにバインドされます。レポート ウィザードを使用してレポートを作成する場合、ウィザードの手順に従って、必要なデータが含まれている DataSet オブジェクトを作成し、それをレポートにバインドします。また、[レポート データ] ウィンドウを使って、手動で DataSet オブジェクトまたはビジネス オブジェクトをレポートにバインドすることもできます。このウィンドウには、レポートにバインドされているすべてのデータセットが、DataSet オブジェクトごとにグループ化されて表示されます。
データセットをレポートにバインドするには
レポート デザイナーの [レポート データ] ウィンドウで、[新規作成] をクリックした後、[データセット] をクリックします。
[データ ソース] ボックスの一覧で、作成した DataSet オブジェクトを選択します。新しい DataSet を作成するには、[新規作成] をクリックし、Visual Studio のデータ ソース構成ウィザードの手順に従います。ビジネス オブジェクトを作成した場合は、[グローバル] を選択し、ビジネス オブジェクトにアクセスします。
[使用できるデータセット] ボックスの一覧で、バインド先のデータを選択します。このボックスには、使用できる DataTable オブジェクトまたはビジネス オブジェクトが表示されます。
[名前] ボックスで、このデータセットの名前を指定し、[OK] をクリックします。
レポートを定義した後で DataSet スキーマを変更する場合は、レポートおよびコントロールのデータ バインドを更新する必要があります。詳細については、「データ ソース参照の更新および再バインド」を参照してください。
レポートには、データセットをいくつでも含めることができます。レポートで実際に使用されるデータセットの一覧を表示するには、[表示] メニューの [レポート データ] をクリックします。アプリケーションでレポートとそのデータを表示するには、アプリケーションをビルドまたは配置して、レポートに目的のデータが含まれていることを確認する必要があります。コントロールの構成およびレポート レイアウトの定義の詳細については、「ローカル処理のための ReportViewer の構成」および「クライアント レポート定義 (.rdlc) ファイルの作成」を参照してください。
すぐに作業を開始するには、次のチュートリアルを使用して、各種類のデータ ソースをプロジェクトに追加する方法を学習します。
チュートリアル : ローカル処理モードでのデータベース データ ソースと ReportViewer Windows フォーム コントロールの使用
チュートリアル : ローカル処理モードでの ReportViewer Web サーバー コントロールとデータベースのデータ ソースの使用法
チュートリアル : ローカル処理モードでのビジネス オブジェクト データ ソースと ReportViewer Windows フォーム コントロールの使用
チュートリアル : ローカル処理モードでのビジネス オブジェクト データ ソースと ReportViewer Web サーバー コントロールの使用
ReportViewer Web サーバー コントロールのデータ ソースの定義
データ ソース コントロールでは、データ アクセス層の抽出がサポートされているので、Web ページ上のコントロールはデータ ソースにバインドされ、このデータ ソースは実際のデータにバインドされます。これにより、データの 1 つずつにすべてのコントロールを再バインドしなくても、データ ソースを効率的に変更できます。
Web ページをデザインする場合、ツールボックスの [データ] セクションに、SqlDataSource や XmlDataSource のようないくつかのデータ ソース コントロールが一覧表示されます。データ ソース コントロールには、Web ページのページ メモリをサポートするものと、共有データを使用するものがあります。レポートではページ メモリが使用されないので、ReportViewer Web サーバー コントロールには、ObjectDataSource コントロールの使用をお勧めします。このコントロールは、インメモリ キャッシュ オブジェクト (DataTable またはビジネス オブジェクトのコレクション) とレポートをつなぐ役割を果たします。ReportViewer コントロールを Web ページに追加すると、ObjectDataSource コントロールは自動的に追加および構成されます。
関連項目
参照
LocalReport.SubreportProcessing
LocalReport.SubreportProcessing