我又有一点问题。 我在Visual Studio 2010中的Windows窗体应用程序中使用了ReportViewer。我的报告的宽度约为7英寸。当我在打印布局中查看报表时,报表会在页面上被剪切,即页面上只有一半的内容位于页面边缘,而页面边界不在右边。然后我必须在报告查看器顶部菜单中单击页面设置来更改页面设置,我只是将左右边距从1减少到0.25。
每次查看和打印报告时,我都不想这样做。有没有办法在C#中以编程方式更改这些设置或更改默认页面布局?
答案 0 :(得分:19)
您可以使用以下代码:
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();
答案 1 :(得分:3)
使用pg.LandScape = true和您现有的
pg.Margins.Top = 0;
pg.Margins.Bottom = 0;
pg.Margins.Left = 0;
pg.Margins.Right = 0;
pg.LandScape = true
答案 2 :(得分:2)
ReportViewer rpt = new ReportViewer();
rpt.SetPageSettings(new System.Drawing.Printing.PageSettings() { Landscape = true });