13

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

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

4

3 回答 3

22

您可以使用以下代码:

 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();
于 2012-10-25T20:55:18.870 回答
3

将 pg.LandScape = true 与您现有的一起使用,

    pg.Margins.Top = 0;
    pg.Margins.Bottom = 0;
    pg.Margins.Left = 0;
    pg.Margins.Right = 0; 
    pg.LandScape = true
于 2012-10-31T06:12:03.467 回答
2
ReportViewer rpt = new ReportViewer();
rpt.SetPageSettings(new System.Drawing.Printing.PageSettings() { Landscape = true });
于 2015-01-26T12:35:35.370 回答