レポートをバインドするクリック イベントの追加
ここでは、reportsList コントロールから選択したレポートを表示するように Button コントロールを設定します。このボタンのイベント メソッドでは、選択したレポートに CrystalReportViewer コントロールを再バインドします。
Web プロジェクトで Button のクリック イベント メソッドを作成する
Web フォームまたは Windows フォームを開きます。
[表示]メニューの[デザイナ]をクリックします。
表示 Button コントロールをダブル クリックします。
分離コード クラスが表示され、display\_Click() イベント メソッドが自動的に生成されます。
これで、reportsList の値を crystalReportViewer コントロールにバインドするヘルパー メソッドを作成できます。
- 自動生成された display_Click() イベント メソッドでは、新しい ServerFileReport をインスタンス化します。
``` vb
Dim myServerFileReport As ServerFileReport = New ServerFileReport
```
``` csharp
serverFileReport = new ServerFileReport();
```
ServerFileReport インスタンスの ReportPath プロパティを reportsList から選択した値に設定します。
myServerFileReport.ReportPath = "\" + reportsList.SelectedItem.ToString
serverFileReport.reportPath = @"\" + reportsList.selectedItem.toString();
ServerFileReport インスタンスの WebServiceUrl プロパティを serverfilereportservice.asmx の URL に設定します。
myServerFileReport.WebServiceUrl = "https://localhost:80/CrystalReportsWebServices/serverfilereportservice.asmx"
serverFileReport.WebServiceUrl = "https://localhost:80/CrystalReportsWebServices/serverfilereportservice.asmx";
Web サイトの場合は、レポート変数名を Session 識別子の文字列として使用して、レポートを Session に割り当てます。
Session("ServerFileReport") = myServerFileReport
Session["ServerFileReport"] = serverFileReport;
CrystalReportViewer コントロールの ReportSource プロパティを ServerFileReport インスタンスに設定します。
myCrystalReportViewer.ReportSource = myServerFileReport
crystalReportViewer.ReportSource = serverFileReport;
[ファイル]メニューの[すべて保存]をクリックします。
[ビルド]メニューで[ソリューションのビルド]を選択します。
ビルド エラーが発生した場合は、ここで修正します。
アプリケーションの実行
- [デバッグ]メニューの[開始]をクリックします。
- DropDownList または ComboBox からレポートを選択します。
- [レポートの表示]をクリックして、選択したレポートを表示します。