在Visual Studio 2010中为报表查看器设置页面布局

13

我有一个小问题,希望您能帮忙解决。

我在Visual Studio 2010的Windows表单应用程序中使用了ReportViewer。我的报告宽度约为7英寸。当我以打印布局查看报告时,报告被切割在页面上,即只有一半的内容在页面上,其余的超出了右边距和页面边界。然后我不得不点击报告查看器顶部菜单中的页面设置来更改页面设置,我只需将左右边距从1减少到0.25。

我不想每次查看和打印报告时都这样做。是否有方法以C#编程方式更改这些设置或更改默认页面布局?

3个回答

21

你可以使用以下代码:

 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();

如果我想使用自定义纸张尺寸怎么办? - Smith
@smith 这个链接可能会对你有所帮助。https://dev59.com/inI-5IYBdhLWcg3wHUZB - mjyazdani

3
使用pg.LandScape = true与您现有的代码一起使用。
    pg.Margins.Top = 0;
    pg.Margins.Bottom = 0;
    pg.Margins.Left = 0;
    pg.Margins.Right = 0; 
    pg.LandScape = true

2
ReportViewer rpt = new ReportViewer();
rpt.SetPageSettings(new System.Drawing.Printing.PageSettings() { Landscape = true });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接