본문으로 바로가기

DevExpress XtraReport 사용 방법을 알아보자. 리포트와 DB 연결 

2부를 이어서 진행합니다.


우선 보고서를 디자인할 때 저는 XRTable을 이용했습니다.

XRTable을 처음 리포트에 올려 놓으면 아래와 같이 3개의 셀을 가진 표가 생성이 됩니다.


[ C# ] DevExpress XtraReport 사용 방법을 알아보자. 리포트와 DB 연결 2부 그리고 출력까지 완결.


마우스 우클릭을 통해 셀을 늘릴수도 있습니다. 

그래서 최종적으로는 아래와 같은 디자인의 보고서를 만들었습니다.


Detail 밴드에는 문서 상단에 표시될 내용,

그리고  DetailReport 에는 반복적으로 찍혀야 하는 

데이터베이스의 내용이 출력될 위치입니다. 잊지 않으셨죠?


[ C# ] DevExpress XtraReport 사용 방법을 알아보자. 리포트와 DB 연결 2부 그리고 출력까지 완결.


리포트와 일전에 만들어 두었던 DataSet을 연결하는 작업을 했듯이 

DataSet과 XRTable의 각 셀들을 연결시켜주는 작업을 해야합니다.


위 사진 처럼 셀을 클릭하면 위쪽에 < 요런 아이콘이 생기는데

클릭해보면 TableCellTasks 라는 팝업이 뜨면서 Data Binding을 할 수 있고,

DataSet에서 만들어두었던 각각의 컬럼들을 연결 시켜 주면 됩니다.


그럼 이쯤되면 한가지 궁금한게 생기실겁니다.

'아니 그럼 내가 만든 DataSet에는 데이터를 바인딩하지?'

'리포트 출력은 어떻게 하지?'


  

           xrCheckWorkDay xr = new xrCheckWorkDay(); //리포트 생성
           xr.DataSource = lknGrid1.GetDataSource(); // 리포트의 데이터소스에 데이터소스를 바인딩

            using (ReportPrintTool printTool = new ReportPrintTool(xr))
            {
                printTool.ShowRibbonPreviewDialog(); // 미리보기 표시 및 출력
            }


lknGrid1.GetDataSource()의 리턴은 일반적인 DataTable 객체입니다. 

DataTable 이나 DataSet을 XtraReport.DataSource에 바인딩하면

리포트에서 참조하는 데이터셋과 연결이 되는 것이죠.


[ C# ] DevExpress XtraReport 사용 방법을 알아보자. 리포트와 DB 연결 2부 그리고 출력까지 완결.


어떤가요? 좀 보고서 답나요?

도움이 되셨길 바랍니다.




2017/02/16 - [프로그래밍] - [ C# ] DevExpress XtraReport A4 용지 크기 설정 방법

2017/02/17 - [프로그래밍] - [ C# ] DevExpress XtraReport 사용 방법 1편 - 리포트 페이지 생성

2017/02/17 - [프로그래밍] - [ C# ] DevExpress XtraReport 사용 방법 2편 - Report Band 종류

2017/02/18 - [프로그래밍] - [ C# ] DevExpress XtraReport 사용 방법 3편 - 리포트와 DB 연결

2017/02/18 - [프로그래밍] - [ C# ] DevExpress XtraReport 사용 방법 4편 - 리포트와 DB 연결 2부 그리고 출력까지 완결.


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

댓글을 달아 주세요

  1. Favicon of http://prolite.tistory.com BlogIcon IT최강자 2017.02.22 03:22 신고

    이거 하나 알아두면 리포트 작성시 정말 편할거 같아요.

  2. Favicon of http://shiftkey.tistory.com BlogIcon Shift Key 2017.08.03 16:24 신고

    안녕하세요 또 댓글 남기게되네요..
    한가지 궁금한점이 있어서 질문글 남기게 되는데요,
    빅에너지님께서 올려놓으신 결과 사진?에서 차고지가 중복되어 셀을 병합해야한다면..어떻게 해야할까요? 요점은 Detail에 데이터를 바인딩 시키고.. 동적으로 셀 병합하는 것입니다.. 다음 셀과 비교를 해서 같다면 rowSpan의 값을 +1 시켜야하는것인지.. 그렇게하자니 데이터가 많은경우 너무 많은 부하를 줄것같아서요..

티스토리 툴바