作成日: 2026/03/25 最終更新日: 2026/03/25
文書種別
使用方法
詳細
納品書や請求書をページの上半分に出力し、下半分に同じ内容を控えとして出力したい場合、ページレポートかセクションレポートで作成します。
■イメージ図

ページレポートの場合
上下にTableを並べて配置するだけで簡単に実現できます。
基本的には、こちらで作成することをお勧めします。
セクションレポートの場合
単独のレポートで実現することはできません。
同じレポートを余白を変更して実行し、それらをOverlayメソッドで重ねる必要があります。
◆サンプルコード (C#)
// 同じレポートを生成し、タイトルだけ変更する
var rpt1 = new SectionReport1();
((GrapeCity.ActiveReports.SectionReportModel.TextBox)
(rpt1.Sections["pageHeader"].Controls["txtTitle"])).Text = "納品書";
var rpt2 = new SectionReport1();
((GrapeCity.ActiveReports.SectionReportModel.TextBox)
(rpt2.Sections["pageHeader"].Controls["txtTitle"])).Text = "納品書(控)";
// マージンを調整する
rpt1.PageSettings.Margins.Top = 0.5f;
rpt1.PageSettings.Margins.Bottom = 6.0f;
rpt2.PageSettings.Margins.Top = 6.0f;
rpt2.PageSettings.Margins.Bottom = 0.5f;
// 描画処理を実行する
rpt1.Run();
rpt2.Run();
// ページを重ねる
for (int i = 0; i < rpt1.Document.Pages.Count; i++)
{
rpt1.Document.Pages[i].Overlay(rpt2.Document.Pages[i]);
}
// ビューワに表示する
viewer1.Document = rpt1.Document;◆サンプルコード (VB.NET)
' 同じレポートを生成し、タイトルだけ変更する
Dim rpt1 As New SectionReport1()
DirectCast(rpt1.Sections("PageHeader").Controls("txtTitle"),
GrapeCity.ActiveReports.SectionReportModel.TextBox).Text = "納品書"
Dim rpt2 As New SectionReport1()
DirectCast(rpt2.Sections("PageHeader").Controls("txtTitle"),
GrapeCity.ActiveReports.SectionReportModel.TextBox).Text = "納品書(控)"
' マージンを調整する
rpt1.PageSettings.Margins.Top = 0.5F
rpt1.PageSettings.Margins.Bottom = 6.0F
rpt2.PageSettings.Margins.Top = 6.0F
rpt2.PageSettings.Margins.Bottom = 0.5F
' 描画処理を実行する
rpt1.Run()
rpt2.Run()
' ページを重ねる
For i As Integer = 0 To rpt1.Document.Pages.Count - 1
rpt1.Document.Pages(i).Overlay(rpt2.Document.Pages(i))
Next
' ビューワに表示する
Viewer1.Document = rpt1.Document