의 WinForm (XtraReport)는 (거물급 아이디어를 교환하기 위해 오는 잘못된 장소에 오신 것을 환영 단지 자기 참조) 인쇄 방법 (재판)을 할 수 있습니다

의 WinForm (XtraReport)는 인쇄 방법 (재판)을 할 수 있습니다

먼저 새로운 XtraReport 클래스를 만들 수 있습니다. 페이지 레이아웃을 디자인하는 보고서의 필요에 따라;

레이아웃 설계가 완료되면 데이터를 바인딩하는 코드를 작성;

[CSHARP]   뷰 일반   복사
 
 
 
  인쇄 ?
  1. 시스템을 사용하여;  
  2. System.Drawing을 사용함;  
  3. 은 System.Collections을 사용함;  
  4. System.ComponentModel을 사용함;  
  5. DevExpress.XtraReports.UI을 사용함;  
  6. System.Data을 사용함;  
  7. Zeda.AssistantClass을 사용함;  
  8.   
  9. 네임 스페이스 LYWJMIS  
  10. {  
  11.     공공 부분  클래스 MyReport2 : DevExpress.XtraReports.UI.XtraReport  
  12.     {  
  13.         개인의 DataRow drPur;  
  14.   
  15.         공공 MyReport2 ()  
  16.         {  
  17.             InitializeComponent를 ();  
  18.         }  
  19.         /// <요약>  
  20.         /// 생성자 인자  
  21.         /// </ 요약>  
  22.         /// <PARAM NAME = "drPur"> PO 정보 </ PARAM>  
  23.         공공 MyReport2 (DataRow를 drPur)  
  24.             :  이 ()  
  25.         {  
  26.             this.drPur = drPur;  
  27.             문자열 sheetID =  String.Empty로;  
  28.             경우 (drPur ==  NULL)  창;  
  29.             // 바인딩 구매 주문 정보  
  30.             BindFormData (Drafur);  
  31.             // 구매 주문 ID를 얻을 수  
  32.             sheetID drPur = [ "ID"] ToString ().;  
  33.             // 구매 주문 세부 데이터 세트를 얻을 수  
  34.             데이터 세트 dsDetail = DataService.Instance.GetPurchaseSheetDetailInfoBySheetID (sheetID);  
  35.             // 바인딩 구매 주문 세부 정보  
  36.             BindTableData (dsDetail);  
  37.         }  
  38.         /// <요약>  
  39.         /// 결합 구매 주문 상세 정보  
  40.         /// </ 요약>  
  41.         개인  무효 BindTableData (데이터 집합 DS)  
  42.         {  
  43.             // 설정 바운드 데이터의 각각의 열과 대응하는 필드 XRTable  
  44.             this.xrTableCell1.DataBindings.Add ( "텍스트", DS,  "DB0137A"); // 이름 DB0137A 필드 이름  
  45.             this.xrTableCell2.DataBindings.Add ( "텍스트", DS,  "DB0152A"); //规格  
  46.             this.xrTableCell3.DataBindings.Add ( "텍스트", DS,  "DB0150A"); //单位  
  47.             this.xrTableCell7.DataBindings.Add ( "텍스트", DS,  "DB0151A"); //产地  
  48.             this.xrTableCell8.DataBindings.Add ( "텍스트", DS,  "DB0168A"); //剂型  
  49.             this.xrTableCell9.DataBindings.Add ( "텍스트", DS,  "DB0183A"); // 측정 사양  
  50.             this.xrTableCell10.DataBindings.Add ( "텍스트", DS,  "DB0188A",  "{0 : N2}"); //进价  
  51.             this.xrTableCell11.DataBindings.Add은 ( "텍스트", DS,  "DB0354A",  "{0 : F0}"); //数量  
  52.             이 페이지 소계를 설정 // (수량 소계)  
  53.             this.xrTableCell23.DataBindings.Add은 ( "텍스트", DS,  "DB0354A",  "{0 : F0}"); //数量  
  54.             this.xrTableCell23.Summary =  새로운 XRSummary (SummaryRunning.Page, SummaryFunc.Sum,  String.Empty로);  
  55.             의 총 수를 바인딩 //  
  56.             this.xrTableCell18.DataBindings.Add은 ( "텍스트", DS,  "DB0354A",  "{0 : F0}"); //数量  
  57.             this.xrTableCell18.Summary =  새로운 XRSummary (SummaryRunning.Group, SummaryFunc.Sum,  String.Empty로);  
  58.         }  
  59.        /// <요약>  
  60.         /// 결합 구매 주문 상세 정보  
  61.        /// </ 요약>  
  62.         개인  무효 BindFormData (된 DataRow 박사)  
  63.         {  
  64.             데이터 세트 (DS) = DataSetOperator.DataRowToDataSet (DR);  
  65.             // XRLabel 바인드 데이터 방법 1 :  
  66.             this.txtDB0336A.Text DR = [ "DB0336A"] ToString ().;  
  67.             // XRLabel 바인드 데이터 방법 2 :  
  68.             this.txtDB0337A.DataBindings.Add ( 새 XRBinding ( "텍스트", DS,  "DB0337A",  "{0 : YYYY-MM-DD}"));  
  69.             this.txtDB0005A.Text DR = [ "DB0005A"] ToString ().;  
  70.             this.txtDB0339A.Text DR = [ "DB0339A"] ToString ().;  
  71.             this.txtDB0345A.DataBindings.Add ( 새 XRBinding ( "텍스트", DS,  "DB0345A",  "{0 : N2}"));  
  72.             this.labPrintTime.Text DateTime.Now.Date.ToString = ();  
  73.   
  74.         }  
  75.     }  
  76. }  

MyReport2 보고서 수준의 인쇄 미리보기를 호출

 

[CSHARP]   뷰 일반   복사
 
 
 
  인쇄 ?
  1.  전용  공간 btnPrintReport_Click ( 객체 송신자있는 EventArgs E)  
  2.         {  
  3.             DataRow를 DR =  this.wgcPur.GridView1.GetFocusedDataRow ();  
  4.             (DR 경우 ==  NULL)  창;  
  5.             MyReport2 담당자 =  새로운 MyReport2 (DR);  
  6.             사용자 정의 용지 종류를 설정 //  
  7.             rep.PaperKind = System.Drawing.Printing.PaperKind.Custom;  
  8.             // 용지 크기를 설정  
  9.             이중 폭 = 24.1 * 0.3937008 * Dpi.GetDeviceCapsX ();  
  10.             이중 높이 = 9.3 * 0.3937008 * Dpi.GetDeviceCapsY ();  
  11.             rep.PageSize =  새로운 System.Drawing.Size (( int)를 폭 ( INT) 높이);  
  12.             // 인쇄 미리보기  
  13.             rep.ShowPreview ();  
  14.         }  

 

 

 

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

추천

출처www.cnblogs.com/LiZhongZhongY/p/11589636.html