ActiveReportsでは、ページレポート、RDLレポートを1つのレポートに結合できます。用紙サイズや向きが異なるレポートの結合、ページレポートとRDLレポートをミックスした結合にも対応しています。
ReportCombinerクラスは、レポートを別のレポートに追加します。レポートは追加した順序で結合されます。
BuildReportメソッドを使うと、PageReportクラスのすべての機能を使用でき、結合する際に、改ページを挿入したり、2つのレポートの間隔を指定したりできます。
Visual Basicコード |
コードのコピー
|
---|---|
Dim combiner = New GrapeCity.ActiveReports.ReportsCore.Tools.ReportCombiner() ' 結合モードを設定します combiner.Mode = GrapeCity.ActiveReports.ReportsCore.Tools.CombineMode.ReportSections Dim r1 = New GrapeCity.ActiveReports.PageReport() r1.Load(New System.IO.FileInfo("c:\temp\Report1.rdlx")) Dim r2 = New GrapeCity.ActiveReports.PageReport() r2.Load(New System.IO.FileInfo("c:\temp\Report2.rdlx")) Dim r3 = New GrapeCity.ActiveReports.PageReport() r3.Load(New System.IO.FileInfo("c:\temp\Report3.rdlx")) combiner.AddReport(r1) combiner.AddReport(r2) combiner.AddReport(r3) ' PDF描画拡張機能 Dim pdfRe = New GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension() Dim provider = New GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(New System.IO.DirectoryInfo("c:\temp\"), "CombinedReport") ' 結合したレポートをビューワにロードします Viewer1.LoadDocument(combiner.BuildReport().Document) ' 結合したレポートをPDF形式で出力します combiner.BuildReport().Document.Render(pdfRe, provider) |
C#コード |
コードのコピー
|
---|---|
var combiner = new GrapeCity.ActiveReports.ReportsCore.Tools.ReportCombiner(); // 結合モードを設定します combiner.Mode = CombineMode.ReportSections; var r1 = new GrapeCity.ActiveReports.PageReport(); r1.Load(new System.IO.FileInfo(@"c:\temp\Report1.rdlx")); var r2 = new GrapeCity.ActiveReports.PageReport(); r2.Load(new System.IO.FileInfo(@"c:\temp\Report2.rdlx")); var r3 = new GrapeCity.ActiveReports.PageReport(); r3.Load(new System.IO.FileInfo(@"c:\temp\Report3.rdlx")); combiner.AddReport(r1); combiner.AddReport(r2); combiner.AddReport(r3); // PDF描画拡張機能 var pdfRe = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension(); var provider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(new System.IO.DirectoryInfo(@"c:\temp\"), "CombinedReport"); // 結合したレポートをビューワにロードします viewer1.LoadDocument(combiner.BuildReport().Document); // 結合したレポートをPDF形式で出力します combiner.BuildReport().Document.Render(pdfRe, provider); |
1つ目のレポートの後に、レポート「r4」を追加します。
Visual Basicコード |
コードのコピー
|
---|---|
combiner.Insert(1, r4, New GrapeCity.ActiveReports.ReportsCore.Tools.LocationOptions()) report = combiner.BuildReport() |
C#コード |
コードのコピー
|
---|---|
combiner.Insert(1, r4, new LocationOptions()); report = combiner.BuildReport(); |
Visual Basicコード |
コードのコピー
|
---|---|
Dim reports As IEnumerable(Of GrapeCity.ActiveReports.PageReport) = {r1, r2, r3, r4} combiner.AddRange(reports, New GrapeCity.ActiveReports.ReportsCore.Tools.LocationOptions()) report = combiner.BuildReport() |
C#コード |
コードのコピー
|
---|---|
combiner.AddRange(new PageReport[] {r1, r2, r3, r4 }, new LocationOptions()) report = combiner.BuildReport(); |
Visual Basicコード |
コードのコピー
|
---|---|
combiner.RemoveAt(0) report = combiner.BuildReport() |
C#コード |
コードのコピー
|
---|---|
combiner.RemoveAt(0); report = combiner.BuildReport(); |
Visual Basicコード |
コードのコピー
|
---|---|
combiner.RemoveAll(r2) report = combiner.BuildReport() |
C#コード |
コードのコピー
|
---|---|
combiner.RemoveAll(r2); report = combiner.BuildReport(); |