의 WinForm (XtraReport)는 인쇄 방법 (재판)을 할 수 있습니다
먼저 새로운 XtraReport 클래스를 만들 수 있습니다. 페이지 레이아웃을 디자인하는 보고서의 필요에 따라;
레이아웃 설계가 완료되면 데이터를 바인딩하는 코드를 작성;
- 시스템을 사용하여;
- System.Drawing을 사용함;
- 은 System.Collections을 사용함;
- System.ComponentModel을 사용함;
- DevExpress.XtraReports.UI을 사용함;
- System.Data을 사용함;
- Zeda.AssistantClass을 사용함;
- 네임 스페이스 LYWJMIS
- {
- 공공 부분 클래스 MyReport2 : DevExpress.XtraReports.UI.XtraReport
- {
- 개인의 DataRow drPur;
- 공공 MyReport2 ()
- {
- InitializeComponent를 ();
- }
- /// <요약>
- /// 생성자 인자
- /// </ 요약>
- /// <PARAM NAME = "drPur"> PO 정보 </ PARAM>
- 공공 MyReport2 (DataRow를 drPur)
- : 이 ()
- {
- this.drPur = drPur;
- 문자열 sheetID = String.Empty로;
- 경우 (drPur == NULL) 창;
- // 바인딩 구매 주문 정보
- BindFormData (Drafur);
- // 구매 주문 ID를 얻을 수
- sheetID drPur = [ "ID"] ToString ().;
- // 구매 주문 세부 데이터 세트를 얻을 수
- 데이터 세트 dsDetail = DataService.Instance.GetPurchaseSheetDetailInfoBySheetID (sheetID);
- // 바인딩 구매 주문 세부 정보
- BindTableData (dsDetail);
- }
- /// <요약>
- /// 결합 구매 주문 상세 정보
- /// </ 요약>
- 개인 무효 BindTableData (데이터 집합 DS)
- {
- // 설정 바운드 데이터의 각각의 열과 대응하는 필드 XRTable
- this.xrTableCell1.DataBindings.Add ( "텍스트", DS, "DB0137A"); // 이름 DB0137A 필드 이름
- this.xrTableCell2.DataBindings.Add ( "텍스트", DS, "DB0152A"); //规格
- this.xrTableCell3.DataBindings.Add ( "텍스트", DS, "DB0150A"); //单位
- this.xrTableCell7.DataBindings.Add ( "텍스트", DS, "DB0151A"); //产地
- this.xrTableCell8.DataBindings.Add ( "텍스트", DS, "DB0168A"); //剂型
- this.xrTableCell9.DataBindings.Add ( "텍스트", DS, "DB0183A"); // 측정 사양
- this.xrTableCell10.DataBindings.Add ( "텍스트", DS, "DB0188A", "{0 : N2}"); //进价
- this.xrTableCell11.DataBindings.Add은 ( "텍스트", DS, "DB0354A", "{0 : F0}"); //数量
- 이 페이지 소계를 설정 // (수량 소계)
- this.xrTableCell23.DataBindings.Add은 ( "텍스트", DS, "DB0354A", "{0 : F0}"); //数量
- this.xrTableCell23.Summary = 새로운 XRSummary (SummaryRunning.Page, SummaryFunc.Sum, String.Empty로);
- 의 총 수를 바인딩 //
- this.xrTableCell18.DataBindings.Add은 ( "텍스트", DS, "DB0354A", "{0 : F0}"); //数量
- this.xrTableCell18.Summary = 새로운 XRSummary (SummaryRunning.Group, SummaryFunc.Sum, String.Empty로);
- }
- /// <요약>
- /// 결합 구매 주문 상세 정보
- /// </ 요약>
- 개인 무효 BindFormData (된 DataRow 박사)
- {
- 데이터 세트 (DS) = DataSetOperator.DataRowToDataSet (DR);
- // XRLabel 바인드 데이터 방법 1 :
- this.txtDB0336A.Text DR = [ "DB0336A"] ToString ().;
- // XRLabel 바인드 데이터 방법 2 :
- this.txtDB0337A.DataBindings.Add ( 새 XRBinding ( "텍스트", DS, "DB0337A", "{0 : YYYY-MM-DD}"));
- this.txtDB0005A.Text DR = [ "DB0005A"] ToString ().;
- this.txtDB0339A.Text DR = [ "DB0339A"] ToString ().;
- this.txtDB0345A.DataBindings.Add ( 새 XRBinding ( "텍스트", DS, "DB0345A", "{0 : N2}"));
- this.labPrintTime.Text DateTime.Now.Date.ToString = ();
- }
- }
- }
MyReport2 보고서 수준의 인쇄 미리보기를 호출
- 전용 공간 btnPrintReport_Click ( 객체 송신자있는 EventArgs E)
- {
- DataRow를 DR = this.wgcPur.GridView1.GetFocusedDataRow ();
- (DR 경우 == NULL) 창;
- MyReport2 담당자 = 새로운 MyReport2 (DR);
- 사용자 정의 용지 종류를 설정 //
- rep.PaperKind = System.Drawing.Printing.PaperKind.Custom;
- // 용지 크기를 설정
- 이중 폭 = 24.1 * 0.3937008 * Dpi.GetDeviceCapsX ();
- 이중 높이 = 9.3 * 0.3937008 * Dpi.GetDeviceCapsY ();
- rep.PageSize = 새로운 System.Drawing.Size (( int)를 폭 ( INT) 높이);
- // 인쇄 미리보기
- rep.ShowPreview ();
- }
xrTableCell 속성 :
- TextAlignment은 : 셀을 설정하는 컨텐츠의 정렬을 나타낸다
- 텍스트 : 문자 셀 표시를 설정하는 단계;
- 스타일 스타일 : 스타일링 부;
- CanGrow : 컨텐츠 설정 단위는 포장 할 수 있습니다. true로 설정하면, 그 콘텐츠를 동시에 감싸 셀의 길이를 초과하면, 셀 높이를 자동으로 증가한다;
- CanShrik : 확장 콘텐츠 셀의 높이 여부를 설정하는 단계;
- 테두리 : 디스플레이 셀을 설정, 아래쪽, 왼쪽 및 오른쪽 경계.
XtraReport 속성 :
- PaperKind : 보고서를 인쇄 할 용지의 종류를 설정;
- PageHeight는 (의 화소 부) 종이 문 높이를 설정. 참고 : PaperKind = 사용자 정의 시간, 그렇지 않으면 무효,이 속성을 설정할 때
- 페이지 폭은 : (: 픽셀 부)이 용지의 폭을 설정. 참고 : PaperKind = 사용자 정의 시간, 그렇지 않으면 무효,이 속성을 설정할 때
- PageColor : 보고서의 배경색을 설정;
- 여백 : 설정 용지 여백;
- DefaultPrinterSettingsUsing : 기본 프린터의 기본 설정 (용지 종류, 여백 등)를 적용할지 여부를 인쇄 보고서;
- UseMargins는 : 값이 true 인 경우, 속성 여백은 결장 할 것이다;
- UsePaperKind : 값이 true 인 경우, 속성 PerperKind은 PageHeight은, 페이지 폭을 제거 할 것;
- GroupFooter-RepeatEveryPage는 : true의 경우, 각 페이지의 바닥 글이 표시됩니다; false의 경우, 첫 번째 페이지 바닥 글
재판 주소 : HTTP : //blog.csdn.net/ljunqiang/article/details/39498171#comments