作成日: 2018/08/08 最終更新日: 2018/08/08
文書種別
使用方法
詳細
FlexReportには複数のレポートを結合する直接的な機能・方法はありません。
代替案としては、表示したいレポートをサブレポートとして配置した結合用レポートを用意しておき、これを表示・印刷する方法が考えられます。
結合用レポートは以下のようにコードで生成することもできます。
※注意
この方法ではサブレポート内のページヘッダー/フッターは表示できません。
ページ番号などを表示したい場合は、結合用レポートに配置してください。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
代替案としては、表示したいレポートをサブレポートとして配置した結合用レポートを用意しておき、これを表示・印刷する方法が考えられます。
結合用レポートは以下のようにコードで生成することもできます。
※注意
この方法ではサブレポート内のページヘッダー/フッターは表示できません。
ページ番号などを表示したい場合は、結合用レポートに配置してください。
◆サンプルコード(VB.NET)
Dim rptMain As New C1.Win.FlexReport.C1FlexReport
Dim rptSub1 As New C1.Win.FlexReport.C1FlexReport
Dim rptSub2 As New C1.Win.FlexReport.C1FlexReport
' サブレポートの読込
rptSub1.Load("ファイルパス", "レポート名")
rptSub2.Load("ファイルパス", "レポート名")
' 結合用レポートの設定
rptMain.Layout.PaperSize = rptSub1.Layout.PaperSize
rptMain.Layout.Orientation = rptSub1.Layout.Orientation
rptMain.Sections.Detail.Visible = True
rptMain.Sections.Detail.Height = 20
' 最初のサブレポートフィールド
Dim field1 As New C1.Win.FlexReport.SubreportField
field1.Height = 10
field1.Width = 10
field1.Subreport = rptSub1
rptMain.Sections.Detail.Fields.Add(field1)
' 2番目のサブレポートフィールド(出力前に改ページを挿入)
Dim field2 As New C1.Win.FlexReport.SubreportField
field2.Height = 10
field2.Width = 10
field2.Top = 10
field2.ForcePageBreak = C1.Win.FlexReport.ForcePageBreakEnum.Before
field2.Subreport = rptSub2
rptMain.Sections.Detail.Fields.Add(field2)
' プレビュー表示
C1FlexViewer1.DocumentSource = rptMain
Dim rptSub1 As New C1.Win.FlexReport.C1FlexReport
Dim rptSub2 As New C1.Win.FlexReport.C1FlexReport
' サブレポートの読込
rptSub1.Load("ファイルパス", "レポート名")
rptSub2.Load("ファイルパス", "レポート名")
' 結合用レポートの設定
rptMain.Layout.PaperSize = rptSub1.Layout.PaperSize
rptMain.Layout.Orientation = rptSub1.Layout.Orientation
rptMain.Sections.Detail.Visible = True
rptMain.Sections.Detail.Height = 20
' 最初のサブレポートフィールド
Dim field1 As New C1.Win.FlexReport.SubreportField
field1.Height = 10
field1.Width = 10
field1.Subreport = rptSub1
rptMain.Sections.Detail.Fields.Add(field1)
' 2番目のサブレポートフィールド(出力前に改ページを挿入)
Dim field2 As New C1.Win.FlexReport.SubreportField
field2.Height = 10
field2.Width = 10
field2.Top = 10
field2.ForcePageBreak = C1.Win.FlexReport.ForcePageBreakEnum.Before
field2.Subreport = rptSub2
rptMain.Sections.Detail.Fields.Add(field2)
' プレビュー表示
C1FlexViewer1.DocumentSource = rptMain
◆サンプルコード(C#)
var rptMain = new C1.Win.FlexReport.C1FlexReport();
var rptSub1 = new C1.Win.FlexReport.C1FlexReport();
var rptSub2 = new C1.Win.FlexReport.C1FlexReport();
// サブレポートの読込
rptSub1.Load("ファイルパス", "レポート名");
rptSub2.Load("ファイルパス", "レポート名");
// 結合用レポートの設定
rptMain.Layout.PaperSize = rptSub1.Layout.PaperSize;
rptMain.Layout.Orientation = rptSub1.Layout.Orientation;
rptMain.Sections.Detail.Visible = true;
rptMain.Sections.Detail.Height = 20;
// 最初のサブレポートフィールド
var field1 = new C1.Win.FlexReport.SubreportField();
field1.Height = 10;
field1.Width = 10;
field1.Subreport = rptSub1;
rptMain.Sections.Detail.Fields.Add(field1);
// 2番目のサブレポートフィールド(出力前に改ページを挿入)
var field2 = new C1.Win.FlexReport.SubreportField();
field2.Height = 10;
field2.Width = 10;
field2.Top = 10;
field2.ForcePageBreak = C1.Win.FlexReport.ForcePageBreakEnum.Before;
field2.Subreport = rptSub2;
rptMain.Sections.Detail.Fields.Add(field2);
// プレビュー表示
c1FlexViewer1.DocumentSource = rptMain;
var rptSub1 = new C1.Win.FlexReport.C1FlexReport();
var rptSub2 = new C1.Win.FlexReport.C1FlexReport();
// サブレポートの読込
rptSub1.Load("ファイルパス", "レポート名");
rptSub2.Load("ファイルパス", "レポート名");
// 結合用レポートの設定
rptMain.Layout.PaperSize = rptSub1.Layout.PaperSize;
rptMain.Layout.Orientation = rptSub1.Layout.Orientation;
rptMain.Sections.Detail.Visible = true;
rptMain.Sections.Detail.Height = 20;
// 最初のサブレポートフィールド
var field1 = new C1.Win.FlexReport.SubreportField();
field1.Height = 10;
field1.Width = 10;
field1.Subreport = rptSub1;
rptMain.Sections.Detail.Fields.Add(field1);
// 2番目のサブレポートフィールド(出力前に改ページを挿入)
var field2 = new C1.Win.FlexReport.SubreportField();
field2.Height = 10;
field2.Width = 10;
field2.Top = 10;
field2.ForcePageBreak = C1.Win.FlexReport.ForcePageBreakEnum.Before;
field2.Subreport = rptSub2;
rptMain.Sections.Detail.Fields.Add(field2);
// プレビュー表示
c1FlexViewer1.DocumentSource = rptMain;
旧文書番号
83114