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 コントロールの追加および設定方法
.NET Framework 3.5 または 4.5 のプロジェクトに Windows フォームまたは Web フォームを追加します。
グラフィック デザイン モードで、ReportViewer コントロールをツールボックスの [レポート] グループから Windows フォームまたは Web フォームにドラッグします。 コントロールには [ReportViewer タスク] のスマート タグ パネルがあり、レポートをすぐに選択できます。
web.config ファイルは、ReportViewer コントロールの HTTP ハンドラーによって自動的に更新されます。 詳細については、「ReportViewer 用の Web.config 設定」を参照してください。
注意
Web フォームで ReportViewer コントロールを使用するには、ScriptManager コントロールもページに追加する必要があります。[ツールボックス] ウィンドウの [AJAX Extensions] グループから ReportViewer コントロールの上のデザイン画面に ScriptManager コントロールをドラッグします。
[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 を直接編集する場合など、グラフィック レポート デザイン環境以外でレポート データ ソースやデータ バインド レポート アイテムを変更する場合は、データ ソースを再バインドする必要があります。
ReportViewer コントロールを選択して、[プロパティ] ウィンドウを開きます。
ReportViewer コントロールのプロパティを設定し、表示領域の表示と可用性を決定します。 各プロパティの詳細については、リファレンス ドキュメントを参照してください。 詳細については「ReportViewer のプロパティ (ReportViewer Properties)」を参照してください。 ReportViewer ツールバーの詳細については、「ReportViewer ツール バーの構成と使用」を参照してください。
アプリケーションをビルドまたは配置して、フォームまたはページ内でレポートをプレビューします。
参照
概念
ReportViewer タスクのスマート タグ パネルの使用
ReportViewer Web サーバーおよび Windows フォーム コントロール