次の方法で共有


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

ReportViewer コントロールとクライアント レポート定義 (.rdlc) ファイルには、データをレポートに提供するデータ ソースに関する参照が含まれています。レポート定義の変換、データセットの追加または削除、レポートで使用されるデータセットの変更を行う場合は、アプリケーションを配置または実行する前に、すべてのデータ ソース参照およびバインドを更新する必要があります。

ReportViewer コントロールおよびレポートによって使用されるデータ ソース参照の概要

データ ソース情報は、コントロールおよびレポートによっていくつかの方法で使用されます。まず、レポート定義では、埋め込みスキーマ情報を使用して、レポート レイアウトのアイテムと最終的にレイアウトにマージされるデータを関連付けます。次に、ReportViewer コントロールには、実行時にデータを渡すことができるようにデータ ソース バインドが必要です。

実行時は、レポートに目的のデータが含まれるように、すべてのバインドとデータ ソース情報の同期をとる必要があります。アプリケーションで使用されるレポートおよびデータセットを変更したときに、開発サイクル全体でデータ ソース情報の同期を保つことができるように、さまざまなオプションが用意されています。次の一覧に、使用可能なオプションを示します。

  • サーバー レポート定義 (.rdl) ファイルから変換したクライアント レポート定義 (.rdlc) ファイルにデータ ソースをバインドするには、ReportViewer タスクのスマート タグ パネルにある [データ ソースの選択] タスクを使用します。

  • コントロールおよびレポート定義と変更済みデータセットの同期をとるには、ReportViewer タスクのスマート タグ パネルの [データ ソースの再バインド] を使用します。

  • レポート定義ファイルに格納されているスキーマ情報を更新するには、[レポート] メニューの [レポート データ ソース] ダイアログ ボックスを使用します。[レポート] メニューは、クライアント レポート定義 (.rdlc) ファイルをグラフィック デザイン モードで編集する場合に使用できます。

レポート定義でのデータ ソース参照の更新

レポート定義には、レポートによって使用されるデータ ソース構造を定義するデータセット要素が含まれています。データセット要素は、レポートのデザイン時にレポート定義に追加されます。新しい要素は、特定のフィールドをレポートのデータ領域またはテキスト ボックスにドラッグするたびに追加されます。

異なるデータ ソースを持つプロジェクト間でレポート定義ファイルをコピーする場合、またはプロジェクトで使用されるデータセットを変更した場合は、レポート定義を更新する必要があります。フィールドやテーブルを削除または名前を変更して、プロジェクトの実際のデータセットを後で変更すると、レポート定義は有効な参照に含まれなくなります。レポート定義を更新するには、次の手順の説明に従って [データ ソース] ダイアログ ボックスを使用します。

レポート定義で参照を更新する方法

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

  2. [レポート] メニューの [データ ソース] をクリックします。[レポート データ ソース] ダイアログ ボックスが開きます。次のオプションを使用できます。

    • 新しいデータセットをレポート定義に追加するには、プロジェクト データ ソースを選択して [レポートに追加] をクリックします。ほとんどの場合、このオプションは必要ありません。プロジェクト データ ソースは、フィールドをレポート レイアウトにドラッグすると自動的にレポート定義に追加されます。

    • 既存のデータセット参照をレポート定義から削除するには、データセットを選択して [削除] をクリックします。

    • プロジェクトのデータセットの名前を変更した場合は、[レポート データ ソース] ダイアログ ボックスを使用してレポート定義のデータセット名を更新できます。[名前の変更] ボタンをクリックして上書きモードでデータセット名を設定し、新しい名前を入力します。

  3. [すべて更新] をクリックし、レポート定義ファイルを変更内容に更新します。

ReportViewer コントロールへのデータ ソースの再バインド

ReportViewer コントロールでは、実行時にアプリケーションのデータ ソースにアクセスするためにデータ バインドが必要です。データ バインドは、クライアント レポート定義 (.rdlc) ファイルを選択するとコントロール用に作成されます。

コントロールに既にバインドされているレポート定義を変更する場合、コントロールがフォームまたは Web ページにバインドされた後にデータセットを変更する場合、または新しいデータセットをレポートに追加する場合は、データ ソースを再バインドする必要があります。これらのすべてのシナリオは、無効なバインドになります。アプリケーション コードでデータ バインドを更新するには、ReportViewer タスクのスマート タグ パネルにある [データ ソースの再バインド] タスクを使用します。

[!メモ]

レポート定義を変更すると、必ずしもデータ ソースを再バインドする必要があるというわけではありません。たとえば、アイテムの並べ替え、アイテムの書式設定、複数のデータ領域でのデータがバインドされた同じフィールドの再使用などの変更では、既存のデータ バインドは無効になりません。同様に、レポートで使用されていないデータ ソースの一部を変更する場合は、バインドを更新する必要はありません。

データ ソースを再バインドする方法

  1. ReportViewer コントロールが含まれているフォームまたは Web ページを開きます。

  2. ReportViewer タスクのスマート タグ パネルで、[データ ソースの再バインド] をクリックします。フォームまたはページのコードを調べて変更内容を確認できます。

ReportViewer コントロールのデータ ソースの選択

サーバー レポート定義 (.rdl) ファイルをクライアント レポート定義 (.rdlc) に変換したら、アプリケーションに ReportViewer コントロールのデータ バインド コードが含まれていることを確認する必要があります。データ バインド コードは、レポート テンプレートから .rdlc ファイルを作成すると自動的に生成されます。ただし、別の方法で .rdlc ファイルを作成した場合、データ バインド コードはありません。データ バインド コードを追加するには、ReportViewer タスクのスマート タグ パネルにある [データ ソースの選択] タスクを使用します。レポート定義の変換の詳細については、「RDL と RDLC ファイルの変換」を参照してください。

データ ソース バインドを追加する方法

  1. ReportViewer コントロールが含まれているフォームまたは Web ページを開きます。

  2. ReportViewer タスクのスマート タグ パネルで、[データ ソースの選択] をクリックします。フォームまたはページのコードを調べて変更内容を確認できます。

参照

概念

クライアント レポート定義 (.rdlc) ファイルの作成
レポートのデータ ソースの作成
ReportViewer タスクのスマート タグ パネルの使用
ローカル処理のための ReportViewer の構成