VS 2010을 사용하여 C#에서 사용자 지정 일정 도구를 작성하여 여러 Crystal Reports 2011 rpt 파일을 실행하고 내보내는 중입니다. 현재이 보고서는 CR Developer 내에서 수동으로 실행되며 일부 보고서에는 런타임시 비워 둘 수있는 선택적 매개 변수가 있으며 보고서의 레코드 선택 수식에서 CR "HasValue()"기능을 사용하여 처리합니다.C#에서 Crystal Reports 2011 보고서를 실행할 때 선택적 매개 변수 처리
나는 실행하고이 보고서 중 하나를 내보낼 프로토 타입 응용 프로그램을 개발하고, 문제없이 매개 변수 값을 전달할 수 있습니다
는 // Set up the Parameter/s
ParameterFieldDefinitions crParameterFieldDefinitions;
ParameterFieldDefinition crParameterFieldDefinition;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crUserProfileValue = new ParameterDiscreteValue();
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["UserProfile"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Clear();
crUserProfileValue.Value = "SIPRECLK";
crParameterValues.Add(crUserProfileValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
이 보고서 PDF 및 XLS 수출에서 필요한 결과를 제공합니다.
그러나이 UserProfile 매개 변수는 보고서에서 선택적으로 플래그가 지정되며 보고서를 CR Developer에서 수동으로 실행할 때 해당 매개 변수 필드를 비워 두는 사용자를 에뮬레이션하기 위해이를 빈 값으로 설정하는 방법을 찾을 수 없습니다.
내가 String.Empty로crUserProfileValue.Value = "" 및 설정을 시도했지만, 레코드 선택 수식 내에서 사용하는 경우가 모두 실제 매개 변수 값으로 촬영하고있다가, 어느 것과도 일치하지 데이터 원본에서 레코드를 작성하면 빈 보고서가 생성됩니다.
내가 설정 한 경우 crUserProfileValue.Value = null의는 예외가 던져 ". 매개 변수 필드와 매개 변수 필드의 현재 값의 종류가 호환되지 않습니다"
crParametersFieldDefinition.ApplyCurrentValues(crParameterValues);
진술 나는 또한 crParameterValues 컬렉션에 crUserProfileValue를 추가,하지만 보고서가 실행될 때 "누락 된 매개 변수 값"예외가 발생하지 시도했습니다. 프로그래밍 방식으로 레코드의 선택 수식에서 CR HasValue() 함수가 FALSE를 반환하게하는 값으로 프로그래밍에서 선택적으로 정의 된 매개 변수의 값을 설정할 수 있습니까?