ReportViewer コントロールの追加と設定

ReportViewer コントロールの 1 つ以上のインスタンスを Windows フォームまたは ASP.NET アプリケーションに追加するには、ツールボックスの [レポート] セクションからアプリケーション内のページまたはフォームにコントロールをドラッグします。 スマート タグ パネルおよびプロパティを使用して、コントロールを構成し、レポートをバインドすることができます。 また、コントロールをプログラムで構成する場合は、コードを記述することもできます。

ReportViewer コントロールでは、一度に 1 つのレポートが表示されます。 複数のレポートを同時に表示できるようにするには、同じページまたはフォーム上のコントロールの複数のインスタンスを結合します。 また、コントロールの 1 つのインスタンスを使用して 一度に 1 つのレポートをホストすることもできます。 1 つのコントロールを使用して一連のレポートを表示するには、使用する ReportViewer コントロールのインスタンスにレポートを関連付けるコードを記述する必要があります。

ReportViewer コントロールはローカル処理モードまたはリモート処理モードのいずれかで動作します。

ローカル処理モードでは、コントロールがレポート定義を開いて処理し、表示領域に表示します。 ローカル処理モードでは、アプリケーションのファイル システム、ストリーム、または埋め込まれたリソースの .rdlc ファイルからレポート定義を取得します。 詳細については、「ReportPath「LoadReportDefinitionおよび「ReportEmbeddedResource」を参照してください。

リモート処理モードでは、コントロールは Reporting Services レポート サーバーから完全に処理されたレポートを取得します。 リモート処理モードでは、すべてのデータの処理およびレポート処理がレポート サーバーで行われます。 リモート処理モードは、通常はパブリッシュ前のレポートに使用されますが、ストリームを使用して提供するレポート定義用にリモート処理を使用することもできます。 詳細については、「LoadReportDefinition「ReportServerUrlおよび「ReportPath」を参照してください。

重要

リモート処理モードでは .rdlc ファイルを使用できません。リモート処理モードには、ライセンス供与された SQL Server 2008 以降の Reporting Services が必要です。リモート処理は、SQL Server Reporting Services レポート サーバーをコントロールと共に使用する組織をサポートするためのものです。サーバー ソリューションにより高いスケーラビリティとパフォーマンスが実現され、サブスクリプション、キャッシュ、その他のレポート出力形式などの追加機能を使用できるようになります。リモート処理モードの詳細については、「リモート処理用の ReportViewer の構成」および「レポートと ReportViewer コントロールの配置」を参照してください。

ReportViewer コントロールの追加および設定方法

  1. .NET Framework 3.5 または 4.5 のプロジェクトに Windows フォームまたは Web フォームを追加します。

  2. グラフィック デザイン モードで、ReportViewer コントロールをツールボックス[レポート] グループから Windows フォームまたは Web フォームにドラッグします。 コントロールには [ReportViewer タスク] のスマート タグ パネルがあり、レポートをすぐに選択できます。

    web.config ファイルは、ReportViewer コントロールの HTTP ハンドラーによって自動的に更新されます。 詳細については、「ReportViewer 用の Web.config 設定」を参照してください。

    注意

    Web フォームで ReportViewer コントロールを使用するには、ScriptManager コントロールもページに追加する必要があります。[ツールボックス] ウィンドウの [AJAX Extensions] グループから ReportViewer コントロールの上のデザイン画面に ScriptManager コントロールをドラッグします。

  3. [ReportViewer タスク] のスマート タグ パネルで、タスクを選択してレポートを追加し、コントロールを設定します。 レポートを指定すると、コントロールをローカル処理とリモート処理のどちらに設定するかが決まります。

    • [新しいレポートをデザインします] をクリックしてレポート ウィザードを起動し、アプリケーション内にレポート定義 (.rdlc) ファイルを作成します。 クライアント側でローカルに処理されるアプリケーション内に新しいレポートを作成できます。 レポートの作成の詳細については、「クライアント レポート定義 (.rdlc) ファイルの作成」 を参照してください。

    • [レポートの選択] を使用して、既存のレポート定義を選択します。 プロジェクト内で定義されているローカル レポート定義 (.rdlc) ファイルを選択できます。あるいは、[サーバー レポート] を選択して SQL Server 2008 Reporting Services レポート サーバーでパブリッシュされているレポートを選択できます。

      サーバー レポートを選択すると、リモート処理のコントロールが設定されます。 サーバー レポートを選択するには、レポート サーバーの URL とレポートへのパスを指定する必要があります。 ネイティブ モードでレポート サーバーのレポートを参照する場合、レポートのパスはスラッシュ (/) で始まります。SharePoint 統合モードのレポート サーバーのレポートを参照する場合、レポートのパスは完全修飾 URL です。 次に例を示します。

      ネイティブ モード: /Adventureworks 2008 Sample Reports/Company Sales 2008

      SharePoint 統合モード: http://MyServer/sites/MySite/MyLibrary/Adventureworks 2008 Sample Reports/Company Sales 2008.rdl

      レポートを実行するには、レポートにアクセスするためのレポート サーバーの権限が必要です。 URL またはレポート パスがわからない場合は、レポート サーバー管理者に問い合わせてください。 サーバー レポートの詳細については、「リモート処理用の ReportViewer の構成」を参照してください。

      既存のレポート定義 (.rdlc) ファイルを選択すると、ローカル処理のコントロールが設定されます。 レポートを選択するには .rdlc ファイルを選択する必要があります。プロジェクトに .rdl ファイルがある場合でも .rdl ファイルを指定することはできません。 詳細については、「クライアント レポート定義 (.rdlc) ファイルの作成」を参照してください。

    • [親コンテナーにドッキングする] をクリックして ReportViewer コントロールの表示画面を展開し、フォームまたはページの使用できるスペースをすべて使用するようにします。 このオプションは、Windows フォーム コントロールで使用できます。

    • [データ ソースの再バインド] をクリックして、レポートで使用するデータ テーブルとビジネス オブジェクトのデータ ソースのバインドを更新します。 このオプションは、コントロールのレポートを選択すると使用できるようになります。 XML を直接編集する場合など、グラフィック レポート デザイン環境以外でレポート データ ソースやデータ バインド レポート アイテムを変更する場合は、データ ソースを再バインドする必要があります。

  4. ReportViewer コントロールを選択して、[プロパティ] ウィンドウを開きます。

  5. ReportViewer コントロールのプロパティを設定し、表示領域の表示と可用性を決定します。 各プロパティの詳細については、リファレンス ドキュメントを参照してください。 詳細については「ReportViewer のプロパティ (ReportViewer Properties)」を参照してください。 ReportViewer ツールバーの詳細については、「ReportViewer ツール バーの構成と使用」を参照してください。

  6. アプリケーションをビルドまたは配置して、フォームまたはページ内でレポートをプレビューします。

参照

概念

ReportViewer タスクのスマート タグ パネルの使用

クライアント レポート定義 (.rdlc) ファイルの作成

ローカル処理のための ReportViewer の構成

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

ReportViewer Web サーバーおよび Windows フォーム コントロール

その他の技術情報

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