【问题标题】:set page layout for report viewer in visual studio 2010在 Visual Studio 2010 中为报表查看器设置页面布局
【发布时间】:2012-10-20 06:44:08
【问题描述】:
我又遇到了一个小问题。
我在 Visual Studio 2010 的 Windows 窗体应用程序中使用了 ReportViewer。我的报告 ID 的宽度约为 7 英寸。当我在打印布局中查看报告时,报告被剪切到页面上,即只有一半的内容在页面上,其余内容超出了右边距和页面边界。然后我必须单击报表查看器顶部菜单中的页面设置来更改页面设置,我只需将左右边距从 1 减少到 0.25。
我不想每次查看和打印报告时都这样做。有没有办法在 C# 中以编程方式更改这些设置或更改默认页面布局?
【问题讨论】:
标签:
visual-studio-2010
c#-4.0
report-viewer2010
【解决方案1】:
您可以使用以下代码:
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();
【解决方案2】:
将 pg.LandScape = true 与您现有的一起使用,
pg.Margins.Top = 0;
pg.Margins.Bottom = 0;
pg.Margins.Left = 0;
pg.Margins.Right = 0;
pg.LandScape = true
【解决方案3】:
ReportViewer rpt = new ReportViewer();
rpt.SetPageSettings(new System.Drawing.Printing.PageSettings() { Landscape = true });