2012-10-20 28 views
12

Tôi lại gặp một vấn đề nhỏ. Tôi đã sử dụng ReportViewer trong Ứng dụng Biểu mẫu Windows của tôi trong studio trực quan 2010. Chiều rộng của id báo cáo của tôi khoảng 7 inch. Khi tôi xem báo cáo trong bố cục in, báo cáo được cắt ngang trên trang, nghĩa là chỉ một nửa nội dung nằm trên trang và phần còn lại nằm ngoài lề phải và ranh giới trang. Sau đó tôi phải nhấp vào thiết lập trang trong trình đơn trình đơn của trình xem báo cáo để thay đổi thiết lập trang, tôi chỉ làm giảm lề trái và lề phải xuống 0,25 từ 1 mỗi trang.đặt bố cục trang cho trình xem báo cáo trong studio trực quan 2010

Tôi không muốn làm điều đó mỗi khi tôi xem và in báo cáo. Có cách nào để thay đổi các cài đặt này theo lập trình trong C# hoặc thay đổi bố cục trang mặc định không?

Trả lời

19

bạn có thể sử dụng mã dưới đây:

System.Drawing.Printing.PageSettings pg=new System.Drawing.Printing.PageSettings(); 
pg.Margins.Top = 0; 
pg.Margins.Bottom = 0; 
pg.Margins.Left = 0; 
pg.Margins.Right = 0; 
System.Drawing.Printing.PaperSize size = new PaperSize(); 
size.RawKind = (int)PaperKind.A5; 
pg.PaperSize = size; 
reportViewer1.SetPageSettings(pg); 
this.reportViewer1.RefreshReport(); 
+0

gì nếu tôi muốn sử dụng một kích thước giấy tùy chỉnh? – Smith

+0

@smith Liên kết này có thể giúp bạn. http://stackoverflow.com/questions/2013630/how-to-get-predefined-paper-size-by-paperkind –

3

Sử dụng pg.LandScape = true cùng với bạn hiện có,

pg.Margins.Top = 0; 
    pg.Margins.Bottom = 0; 
    pg.Margins.Left = 0; 
    pg.Margins.Right = 0; 
    pg.LandScape = true 
1
ReportViewer rpt = new ReportViewer(); 
rpt.SetPageSettings(new System.Drawing.Printing.PageSettings() { Landscape = true }); 
Các vấn đề liên quan