다음을 통해 공유


부록: 향상된 이산 매개 변수 코드

지금까지 이산 매개 변수 값이 포함된 보고서를 만들고, 일반적인 형식(ArrayList)으로 일련의 값을 받아 특정한 매개 변수 필드 이름(PARAMETER_FIELD_NAME 상수)에 따라 보고서에 적용하는 도우미 메서드를 만드는 방법을 설명했습니다.

Visual Studio 2005 이상 또는 Crystal Reports Developer를 설치한 경우 향상된 API를 사용하여 Crystal 보고서에 이산 매개 변수를 설정할 수 있습니다. Crystal Reports Developer API를 사용하면 이산 매개 변수를 설정하는 데 필요한 코드의 양을 최소화할 수 있습니다.

이전 절차에서는 SetCurrentValuesForParameterField() 도우미 메서드를 만드는 방법을 설명했습니다.

이 자습서에서는 이 도우미 메서드를 삭제하고 대신 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 Form 또는 Windows Form을 엽니다.

  3. 보기 메뉴에서 코드를 클릭합니다.

  4. ConfigureCrystalReports() 메서드 내에서, 보고서를 CrystalReportViewer 컨트롤의 ReportSource 속성에 바인딩하는 코드 줄 위에 CustomerByCity 클래스의 SetParameterValue() 메서드를 호출하는 코드를 작성합니다. Array 인스턴스의 매개 변수 필드 이름과 매개 변수 값을 이 메서드에 전달합니다.

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

이제 프로젝트를 빌드하고 실행하여 이산 매개 변수를 읽고 설정할 준비가 되었습니다.