13

もう一度少し問題があります。VisualStudio2010の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 に答える