로그온 코드 없이 보고서 바인딩
"프로젝트 설정"에서 Web Form 또는 Windows Form에 CrystalReportViewer 컨트롤을 배치했고, 이전 단계에서는 프로젝트에 NorthwindCustomers 보고서를 추가했습니다.
이 부분에서는 NorthwindCustomers 보고서의 파일 디렉터리 경로를 CrystalReportViewer 컨트롤에 바인딩합니다. 그런 다음 데이터베이스 로그온 코드를 설정하지 않은 경우 보고서가 올바르게 표시되는지 여부를 테스트합니다.
NorthwindCustomers 보고서의 파일 디렉터리 경로를 CrystalReportViewer 컨트롤에 바인딩하려면
Web Form 또는 Windows Form을 엽니다.
보기 메뉴에서 코드를 클릭합니다.
"프로젝트 설정"에서 만든 ConfigureCrystalReports() 메서드를 찾습니다.
문자열 변수를 선언하고 이름을 reportPath로 지정한 다음 이 변수에 로컬 보고서의 런타임 경로를 할당합니다. 이 경로는 웹 사이트와 Windows 프로젝트 간에 다르게 결정됩니다.
웹 사이트의 경우 로컬 보고서 파일의 이름을 문자열 매개 변수로 Server.MapPath() 메서드에 전달합니다. 그러면 런타임에 로컬 보고서가 하드 드라이브 파일 디렉터리 경로에 매핑됩니다.
Dim reportPath As String = Server.MapPath("NorthwindCustomers.rpt")
string reportPath = Server.MapPath("NorthwindCustomers.rpt");
Windows 프로젝트의 경우 백슬래시를 사용하여 Application.StartupPath 속성과 로컬 보고서 파일 이름을 연결합니다. 그러면 보고서가 Windows 실행 파일과 동일한 디렉터리에 매핑됩니다.
참고
컴파일할 때 보고서를 실행 파일이 있는 디렉터리에 복사하십시오.
Dim reportPath As String = Application.StartupPath & "\" & "NorthwindCustomers.rpt"
string reportPath = Application.StartupPath + "\\" + "NorthwindCustomers.rpt";
NorthwindCustomers 보고서의 파일 디렉터리 경로를 CrystalReportViewer 컨트롤의 ReportSource 속성에 할당합니다.
myCrystalReportViewer.ReportSource = reportPath
crystalReportViewer.ReportSource = reportPath;
NorthwindCustomers 보고서가 로드되는지 테스트하려면
이제 프로젝트를 빌드하고 실행할 준비가 되었습니다. 아직 데이터베이스에 로그온하는 코드는 작성하지 않았으므로 보고서를 로드할 수 없습니다.
빌드 메뉴에서 솔루션 빌드를 선택합니다.
빌드 오류가 발생하면 바로 수정합니다.
Windows 프로젝트에서 비포함 보고서를 사용하는 경우 \bin\debug\ 하위 디렉터리에서 컴파일된 Windows 실행 파일을 찾은 다음 이 하위 디렉터리로 보고서를 복사합니다.
참고
런타임에 비포함 보고서를 Windows 실행 파일에서 로드하도록 하려면 보고서가 Windows 실행 파일과 동일한 디렉터리에 저장되어 있어야 합니다.
디버그 메뉴에서 시작을 클릭합니다.
NorthwindCustomers 보고서는 표시되지 않습니다. 이 보고서는 데이터베이스 로그온 코드를 추가한 후에 표시됩니다.
참고
사용 중인 Crystal Reports의 버전에 따라 결과가 다를 수 있습니다. 예를 들어, Crystal Reports 10 이상이 설치된 경우 해당 보고서에 대한 데이터베이스 로그온 정보를 묻는 메시지가 나타납니다. 이전 버전의 Crystal Reports에서는 예외가 Throw됩니다. 어떠한 경우이건 다음 단계의 절차에 따라 응용 프로그램이 완전하게 작동하도록 만들어야 합니다.
Visual Studio로 돌아간 다음 중지를 클릭하여 디버그 모드를 종료합니다.