 [그림 부록A.21] 크리스탈 뷰어 설치
[그림 부록A.21 설명] 크리스탈 리포트를 ASP.NET 웹화면에 나타내기위해서는 "CrystalReportViewer" 웹컨트롤러가 필요하므로 마우스로 끌어서 웹화면에 내려놓는다.
 [그림 부록A.22] 명렬 버튼 설치
[그림 부록A.22 설명] 생성된 크리스탈 리포트를 웹 화면에 나타내기위한 명령 버튼을 설치하고 여기에 C# 언어를 이용하여 소스를 생성해 본다.
 [그림 부록A.23] 화면 디자인 완료
[그림 부록A.23 설명] 이제 웹 화면을 모두 디자인 했으므로 번호j의 크리스탈 리포트 뷰어에 "New_CrystalReport.rpt"라는 리포트를 연결해서 웹화면에 나타내는 소스를 번호k의 "검색" 버튼에 C#으로 작성해 본다.
"검색" 버튼에 들어갈 소스를 포함하여 현재까지의 ASP.NET의 C# 소스부분만을 살펴보면 아래 와 같다.
[소스 파일명 : WebForm1.aspx.cs]
-------------------------------------------------------------------- //ASP.NET 프로젝트 생성시 디폴트로 포함되는 컴포넌트 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls;
// 크리스탈 리포트 이용시 추가로 포함시키는 컴포넌트 using Microsoft.Win32; using CrystalDecisions.Web; using CrystalDecisions.Shared;
// ReportDocument 생성시 필요한 컴포넌트 using CrystalDecisions.CrystalReports.Engine;
namespace Sample_CrystalReport { /// <summary> /// WebForm1에 대한 요약 설명입니다. /// </summary> public class WebForm1 : System.Web.UI.Page { protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1; protected System.Web.UI.WebControls.Button btnView;
private void Page_Load(object sender, System.EventArgs e) { // 여기에 사용자 코드를 배치하여 페이지를 초기화합니다. }
#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: 이 호출은 ASP.NET Web Form 디자이너에 필요합니다. // InitializeComponent(); base.OnInit(e); }
/// <summary> /// 디자이너 지원에 필요한 메서드입니다. /// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오. /// </summary> private void InitializeComponent() { this.btnView.Click += new System.EventHandler(this.Button1_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion
// // "검색"버튼 클릭시 크리스탈 리포트를 리포트 뷰어에 연결한후 화면에 보여주는 부분 //
****************************************************************************** private void Button1_Click(object sender, System.EventArgs e) // 화면에서 검색버튼 클릭시 // 처리 이벤트 { // 문서 인스턴스 생성 부분 ReportDocument oRpt = new ReportDocument();
// 생성된 인스턴스에 생성된 리포트를 로딩하는 부분
oRpt.Load("C:\\Inetpub\\wwwroot\\Sample_ CrystalReport\\New_CrystalReport.rpt");
// 로딩된 리포트를 크리스탈 뷰어에 연결시키는 부분 CrystalReportViewer1.ReportSource = oRpt;
// //출력부분 //
//기본 프린터 셋팅하는부분:프린터 이름 명시 oRpt.PrintOptions.PrinterName = "HP LaserJet 2200 Series PCL 6";
//인쇄부수,가로,세로여부(true:세로,false:가로), 인쇄시작 페이지,인쇄 끝 페이지 oRpt.PrintToPrinter(1,true,1,1);
// 리포트 내용중 텍스트 검색방법 //CrystalReportViewer1.SearchForText("홍길동", SearchDirection.Forward); ****************************************************************************** <***** ←안에 내용들은 "검색"버튼 클릭시 발생하는 클릭 이벤트이다.>
} private String GetSampleReportsDir() { // Get the path VS was installed to RegistryKey regKey = Registry.LocalMachine; regKey = regKey.OpenSubKey("Software\\Microsoft \\VisualStudio\\7.0\\Setup\\VS"); string dir = ""; // regKey.GetValue("ProductDir").ToString(); dir += "C:\\Inetpub\\wwwroot\\Sample_CrystalReport\\";
return dir; }
}
}
-------------------------------------------------------------------- 이상과 같이 "검색" 버튼에 소스를 작성하고, 실제로 실행하고서 검색 버튼 클릭시 나타나는 화면은 아래와 같다.
 [그림 부록A.24] 실행 화면
[그림 부록A.24 설명] 실행후 "검색" 버튼을 클릭해보면 하단부에 실제 데이터가 나타나는 화면이다. |
첫댓글 원본 게시글에 꼬리말 인사를 남깁니다.
메일 스크랩 해가요.. 잘보겠습니다.