Windows Form Viewer 的報表 Web 服務繫結選項
在 Windows 應用程式使用報表 Web 服務之前,必須先繫結報表 Web 服務與 Windows Form Viewer。下一節將以不同的案例來說明繫結報表 Web 服務與 Windows Form Viewer 的方法。
案例 1:報表 Web 服務
假設以下條件之一存在,而且可將 Crystal Report 當成報表 Web 服務使用:
在 Visual Basic 或 C# 應用程式中
此報表 (My Report.rpt) 可以當成報表 Web 服務 (My Report.asmx) 使用。
已將 MyReportService.asmx 發行到 Web 伺服器 MyServer 上的 ServerProject 專案中。
在用戶端上,您已建立了一個 Windows 應用程式專案,名稱為 MyProject。
您已在 MyProject 的 Windows Form 中插入一個 Windows Form Viewer,名稱為
CrystalReportViewer1
。在 C++ 應用程式中
您已建立了一個 Managed C++ 專案,名稱為 MyProject。
您已在 MyProject 的 MyProject.cpp 中插入一個 Web Form Viewer,名稱為
CrystalReportViewer1
。
您可以藉由報表 Web 服務將 My Report.rpt 的報表 Web 服務繫結至 Windows Form Viewer 上。
依報表 Web 服務繫結
您可以透過 Windows Form 的 [程式碼] 檢視來指定 ReportSource 屬性:
[Visual Basic]
CrystalReportViewer1.ReportSource = "http://MyServer/ServerProject/My ReportService.asmx"
[C#]
crystalReportViewer1.ReportSource = "http://MyServer/ServerProject/My ReportService.asmx";
[C++]
CrystalReportViewer1->ReportSource = "http://MyServer/ServerProject/My ReportService.asmx";
[VJ#]
crystalReportViewer1.set_ReportSource(
"http://MyServer/ServerProject/My ReportService.asmx");
案例 2:已加入至專案的報表 Web 服務
假設以下條件存在:
- 此報表 (My Report.rpt) 可以當成報表 Web 服務 (My Report.asmx) 使用。
- 已將 MyReportService.asmx 發行到 Web 伺服器 MyServer 上的 ServerProject 專案中。
- 在用戶端上,您已建立了一個 Windows 應用程式專案,名稱為 MyProject。
- 您已在 MyProject 的 Windows Form 中插入一個 Windows Form Viewer,名稱為
CrystalReportViewer1
。 - 在用戶端上,您已經將報表 Web 服務加入 MyProject 中。
將報表 Web 服務加入至用戶端專案時會建立一個 Proxy 類別。您可以使用 Proxy 物件的執行個體,將 My Report.rpt 的報表 Web 服務繫結至 Windows Form Viewer。
注意 在 C++ 專案中加入及繫結報表 Web 服務需要用程式碼。沒有可使用的 C++ 範例。
依 Proxy 物件繫結
[Visual Basic]
在 Form1.vb 的 [程式碼] 檢視中,在 InitializeComponent()
呼叫之後指定:
CrystalReportViewer1.ReportSource = new MyProject.localhost.My_ReportService()
[C#]
在 Form1.cs 的 [程式碼] 檢視中,在 InitializeComponent()
呼叫之後指定:
crystalReportViewer1.ReportSource = new MyProject.localhost.My_ReportService();
[C++] 沒有可使用的 C++ 範例。若要知道在 C# 或 Visual Basic 應用程式中的做法,請按一下畫面左上角的 [語言篩選條件] 按鈕。
[VJ#]
在 Form1.cs 的 [程式碼] 檢視中,在 InitializeComponent()
呼叫之後指定:
crystalReportViewer1.set_ReportSource(new localhost.My_ReportService());
案例 3:已加入至 Windows Form 的 Crystal Enterprise 報表
假設以下條件存在:
在用戶端上,您已建立了一個 Windows 專案,名稱為 MyProject。
您已在 MyProject 的 Windows Form 中插入一個 Windows Form Viewer,名稱為
CrystalReportViewer1
。在用戶端上,您已將 Crystal Enterprise 報表 MyCEReport.rpt 加入 Windows Form。
注意 在 C++ 專案中加入及繫結報表 Web 服務需要用程式碼。沒有可使用的 C++ 範例。
依 Crystal Enterprise 報表物件繫結
您可以透過 Windows Form 中的 [屬性] 視窗或程式碼,將 Crystal Enterprise 報表 MyCEReport.rpt 繫結至 Windows Form Viewer:
請在 Windows Form 的 [設計] 檢視中,選取 Windows Form Viewer。在 [屬性] 視窗中,為 ReportSource 屬性從下拉式清單中選取 enterpriseReport1[CrystalDecisions.ReportSource.EnterpriseReport]。
或者,在 Windows Form 中的
InitializeComponent()
呼叫之後指定 ReportSource 屬性,將 Crystal Enterprise 報表物件繫結至 Windows Form Viewer:[Visual Basic]
CrystalReportViewer1.ReportSource = enterpriseReport1
[C#]
crystalReportViewer1.ReportSource = enterpriseReport1;
[C++] 沒有可使用的 C++ 範例。若要知道在 C# 或 Visual Basic 應用程式中的做法,請按一下畫面左上角的 [語言篩選條件] 按鈕。
[VJ#]
crystalReportViewer1.set_ReportSource( enterpriseReport1);
案例 4:已加入至 Windows Form 的伺服器檔案報表
假設以下條件存在:
在用戶端上,您已建立了一個 Windows 專案,名稱為 MyProject。
您已在 MyProject 的 Windows Form 中插入一個 Windows Form Viewer,名稱為
CrystalReportViewer1
。在用戶端上,您已將伺服器檔案報表 MyServerFileReport.rpt 加入至 Windows Form。
注意 在 C++ 專案中加入及繫結報表 Web 服務需要用程式碼。沒有可使用的 C++ 範例。
依伺服器檔案報表物件繫結
您可以透過 Windows Form 中的 [屬性] 視窗或程式碼,將 MyServerFileReport.rpt 繫結至 Windows Form Viewer:
- 請在 Windows Form 的 [設計] 檢視中,選取 Windows Form Viewer。在 [屬性] 視窗中,為 ReportSource 屬性從下拉式清單中選取 enterpriseReport1[CrystalDecisions.ReportSource.ServerFileReport]。
- 或者,在 Windows Form 中的
InitializeComponent()
呼叫之後指定 ReportSource 屬性,將 Crystal Enterprise 報表物件繫結至 Windows Form Viewer: [Visual Basic] CrystalReportViewer1.ReportSource = serverFileReport1 [C#] crystalReportViewer1.ReportSource = serverFileReport1;
[C++] 沒有可使用的 C++ 範例。若要知道在 C# 或 Visual Basic 應用程式中的做法,請按一下畫面左上角的 [語言篩選條件] 按鈕。
[VJ#]
crystalReportViewer1.set_ReportSource( serverFileReport1);