レポートの用紙サイズや余白を、コード上で動的に設定する方法は?

文書番号 : 27237     文書種別 : 使用方法     最終更新日 : 2009/08/03
文書を印刷する
対象製品
ActiveReports for .NET 6.0J Professional
詳細
デザイナ画面上の[レポートの設定]ダイアログの「ページ設定」や「プリンタ設定」で設定される項目は、ActiveReportオブジェクトのPageSettingsクラス以下のプロパティにより、参照・設定が可能です。

たとえば、レポートの余白(マージン)は、PageSettings.Margins以下のプロパティで設定されています。レポートの実行前に、こちらのプロパティをコード上で指定することで、余白を動的に変更することが可能です。

以下のサンプルコードでは、用紙サイズをA3横に設定し、上下の余白を各1cmずつに、左右の余白を各1.5cmずつに設定しています。

◆サンプルコード(VB.NET)
 Dim rpt As New ActiveReport1()

 ' 用紙サイズをA3横に設定します。
 rpt.PageSettings.PaperKind = _
  System.Drawing.Printing.PaperKind.A3
 rpt.PageSettings.Orientation = _
  DataDynamics.ActiveReports.Document.PageOrientation.Landscape

 ' 上下左右の余白を設定します。
 rpt.PageSettings.Margins.Top = rpt.CmToInch(1)
 rpt.PageSettings.Margins.Bottom = rpt.CmToInch(1)
 rpt.PageSettings.Margins.Left = rpt.CmToInch(1.5)
 rpt.PageSettings.Margins.Right = rpt.CmToInch(1.5)

 ' レポートを生成し、Viewer上に表示します。
 rpt.Run()
 Viewer1.Document = rpt.Document

◆サンプルコード(C#)
 ActiveReport1 rpt = new ActiveReport1();
 // 用紙サイズをA3横に設定します。
 rpt.PageSettings.PaperKind
  = System.Drawing.Printing.PaperKind.A3;
 rpt.PageSettings.Orientation
  = DataDynamics.ActiveReports.Document.PageOrientation.Landscape;

 // 上下左右の余白を設定します。
 rpt.PageSettings.Margins.Top
  = DataDynamics.ActiveReports.ActiveReport.CmToInch(1.0f);
 rpt.PageSettings.Margins.Bottom
  = DataDynamics.ActiveReports.ActiveReport.CmToInch(1.0f);
 rpt.PageSettings.Margins.Left
  = DataDynamics.ActiveReports.ActiveReport.CmToInch(1.5f);
 rpt.PageSettings.Margins.Right
  = DataDynamics.ActiveReports.ActiveReport.CmToInch(1.5f);

 // レポートを生成し、Viewer上に表示します。
 rpt.Run();
 this.viewer1.Document = rpt.Document;
関連情報
キーワード
HowTo デザイン・レイアウト

この文書は、以前は次のFAQ IDで公開されていました : 11914