共用方式為


附錄:離散參數程式碼的增強功能

現在,您已順利使用離散參數值建立了報表,以及可接受通用格式 (ArrayList) 中任何值集合的 Helper 方法,並且也將這些值套用到以特定參數欄位名稱 (PARAMETER_FIELD_NAME 常數) 為基礎的報表。

如果您已安裝 Visual Studio 2005 (含) 更新版本或 Crystal Reports Developer,便可存取增強的 API 在 Crystal 報表中設定離散參數。Crystal Reports Developer API 有助於將設定離散參數所需的程式碼縮減至最少。

在之前的程序中,您已學會了如何建立 SetCurrentValuesForParameterField() Helper 方法。

在本教學課程中,您可以刪除 Helper 方法,並改呼叫 ReportDocument 類別的 SetParameterValue() 方法。

SetParameterValue() 方法多載了下列幾個方法:

  • SetParameterValue(int index, object value)
  • SetParameterValue(string parameterFieldName, object value)
  • SetParameterValue(string parameterFieldName, object value, string subreport)

當值達到參數欄位的預設值時,即可傳入任何類型的物件。物件可以是儲存著參數值清單的 Array 執行個體。

必要條件:

若要使用離散參數的 SetParameterValue() 方法

  1. 開啟本教學課程中完成的專案。

  2. 開啟 Web 或 Windows Form。

  3. 從 [檢視] 功能表,按一下 [程式碼]。

  4. 在 ConfigureCrystalReports() 方法中,於繫結報表到 CrystalReportViewer 控制項之 ReportSource 屬性的程式行上方,呼叫 CustomerByCity 類別提供的 SetParameterValue() 方法。將參數欄位名稱和 Array 執行個體中的參數值傳遞給方法。

    customersByCityReport.SetParameterValue(PARAMETER_FIELD_NAME, arrayList.ToArray())
    
    customersByCityReport.SetParameterValue(PARAMETER_FIELD_NAME, arrayList.ToArray());
    

您現在已經可以建置和執行專案,以讀取與設定離散參數。