この Step で作成するアプリケーション
ReportViewer コントロールからのアクセス
ReportViewer コントロールからのアクセス
Windows フォームや Web フォームなどのアプリケーションから、レポートへアクセスするには、ReportViewer コントロールを利用します。
それでは、実際に SalesRepo レポートへアクセスする Windows アプリケーションを作成してみましょう。ここでは、Visual Studio 2010 を例に説明します。
- まずは、Visual Stduio 2010 を起動して、[ファイル]メニューから[新規作成]→[プロジェクト]をクリックします。
- [新しいプロジェクト]ダイアログが表示されたら、[インストールされたテンプレート]から今回は「Visual Basic」を選択して、「Windows フォーム アプリケーション」を選択します。
[名前]と[場所]へ任意のプロジェクト名と保存場所を入力して、[OK]ボタンをクリックします。 - 次に、ツールボックスの[レポート]カテゴリから、[ReportViewer]コントロールを Windows フォーム上へドラッグ&ドロップします。
- 配置後、ReportViewer コントロールの右上に出ている「」をクリックします。
これにより、[ReportViewer タスク]スマート タグが表示されるので、[レポートの選択]で「サーバー レポート」を選択します。[レポート サーバーの URL]は、「http://localhost/reportserver」と設定されていることを確認し(必要に応じてサーバー名を変更し)、[レポート パス]へレポートのパス(今回は /SalesRepo)を入力します。 - 次に、ReportViewer コントロールの大きさを調整して、レポートを表示しやすくしてから、ツールバーの[デバッグ開始]ボタンをクリックします。
- これにより、Windows アプリケーションが起動して、レポートが表示されることを確認できます。
任意の商品区分を選択して、[レポートの表示]ボタンをクリックすると、選択した商品区分のみが表示されることを確認できます。
このように、ReportViewer コントロールを利用すると、アプリケーションから簡単にレポートへアクセスできるようになります。
ファイルへのエクスポート
次に、起動した Windows アプリケーションから、ファイルのエクスポートをしてみましょう。
- 次のように[エクスポート]ボタンをクリックして、今回は「Excel」をクリックします。
- [名前を付けて保存]ダイアログが表示されたら、[ファイル名]へ任意の名前を入力して、[保存]ボタンをクリックします。
- 保存した Excel ファイルを開きます。
このように、Windows アプリケーションからでも、ファイルへのエクスポートを簡単に行うことができます。
エクスポート ボタンの非表示
ReportViewer コントロールでは、プロパティを設定して、レポート ツールバーをカスタマイズすることもできます。それではこれを試してみましょう。
- 配置した ReportViewer コントロールをクリックして、ReportViewer コントロールの[プロパティ]を表示します。
プロパティの一覧から、[ツール バー]セクションにある[ShowExportButton]を「False」へ設定します。これで、エクスポート ボタンを表示しないようにすることができます。 - [デバッグ開始]ボタンをクリックして、結果を確認してみましょう。
このように、ReportViewer コントロールの[ツールバー]セクションにあるプロパティを利用すれば、レポート ツールバーにあるボタンの表示/非表示を設定することができます。
パラメーターの指定
パラメーターの指定
ReportViewer コントロールで、パラメーターを指定するには、Microsoft.Reporting.Win Forms 名前空間の ReportParameter クラスを利用します。
- Windows フォームをダブル クリックして、Form_load イベント ハンドラーを生成し、次のようにコードを記述します。
- [デバッグ開始]ボタンをクリックして、結果を確認します。
p1 パラメーター(商品区分コード)が 3の菓子類のデータが表示されることを確認できます。
このように、ReportParameter オブジェクトを利用すると、プログラム内からレポートのパラメーターを指定することができます。Note: 複数選択可能なパラメーターがある場合
「年」パラメーター(p2)のように、複数選択可能なパラメーターがある場合は、次のように配列として、値を代入する必要があります。
(C#)
ASP.NET Web フォームからのアクセス
ASP.NET Web フォームからレポートへアクセスする場合にも、Windows フォームの場合と同じように ReportViewer コントロールを利用します(利用方法についても、Windows フォームの場合とまったく同じです)。
※試してみたが、私の環境ではスクリプトエラーが発生し動作しなかった。(VS2012)
JavaScriptのバージョンを選んだりするのかしらん?
その後、もう少し試してみました。
エラーが発生するのは、自習書99ページのカスケードパラメータを使った場合。
商品区分を選ぶと、その商品区分の商品だけがコンボボックスに表示されるパターン。
この時、商品コンボボックスを表示するとエラーとなる。
情けないことに、これ、IEのバグの様です。(IE9以降で発生)
他のブラウザ(FireFox,Chrome,Opera)では発生しません。
とりあえず以下のようなスクリプトを追加してエラー発生時に「getComputedStyle」関数を置き換えることで回避できるようです。
|
この様な不具合がIE9からそのままという事は、この機能もほとんど使われていないのでしょうね・・・。
- Visual Stduio 2010 を起動し、[ファイル]メニューから[新規作成]→[プロジェクト]をクリックします。
- [新しいプロジェクト]ダイアログが表示されたら、[インストールされたテンプレート]から「Visual Basic」を選択して、「ASP.NET Web アプリケーション」を選択します。
- 次に、[デザイン]タブをクリックしてデザイン画面を表示して、ツールボックスの[AJAX Extensions]カテゴリから、[ScriptManager]を Web フォーム上へドラッグ&ドロップします。
Note: Visual Studio 2010 では、ReportViewer が AJAX 対応のコントロール
Visual Studio 2010 からは、ReportViewer コントロールが AJAX 対応のコントロールに変更されました。このため、ScriptManager コントロールの配置が必要になります。 - 次に、ツールボックスの[レポート]カテゴリから[ReportViewer]コントロールを Web フォーム上へドラッグ&ドロップします。
- [ReportViewer タスク]スマート タグが表示されたら、[レポートの選択]で「サーバー レポート」を選択し、[レポート サーバーの URL]へは、「http://localhost/reportserver」と設定されていることを確認します。[レポート パス]へは、レポートのパス(今回は /SalesRepo)を入力します。
- ツール バーの[デバッグ開始]ボタンをクリックして、実行します。
レポートが表示されたら、任意の商品区分名を選択して、[レポートの表示]ボタンをクリックし、選択した商品区分のデータが、正しく表示されることを確認します。
このように、ASP.NET Web アプリケーションでも、Windows アプリケーションと同様に ReportViewer コントロールを利用して、簡単にレポートへアクセスすることができます。
Asia Kings Casino - Shootercasino
返信削除Visit Asia Kings Casino for the latest casino games, slots, roulette, 메리트 카지노 고객센터 video poker and table games! Sign up & get up to 25 FREE Spins No 바카라 Deposit! 제왕카지노