共用方式為


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);

請參閱

在執行階段繫結報表與檢視器