I have the problem, that I print 10 documents with Reportbuilder, each document will be printed separately. Now I need to show they all in one layout, so that I can see all the printed Documents.
Your best option would be to save all 10 of your reports to Report Templates then in a separate blank report, load each template into a Section Style subreport either manually or dynamically in code. Below are a couple articles that may help get you on the right track.
------------------------------------------------- TECH TIP: Creating a SubReport in Code -------------------------------------------------
A subreport is comprised of two objects:
1. SubReport control The subreport control is added to a band of the 'parent' report. It has properties such as ShiftRelativeTo, PrintBehavior, etc. In the Report Designer, the subreport is drawn as a rectangle.
2. ChildReport The child report is a descendant of CustomReport and has most of the same properties as a standard Report. The child report has a separate layout workspace in the report designer that is accessible by selecting the tabs at the bottom of the designer.
When dynamically creating a subreport in code you need to create the subreport and the underlying child report. The subreport.Report property can then be used to access the child report.
This is demonstrated in the following example:
var lSubReport: TppSubReport; lReport: TppChildReport; lLabel: TppLabel; lDBText: TppDBText;
begin
lSubReport := TppSubReport.Create(Self);
{add to the main report's detail band} lSubReport.Band := ppReport1.DetailBand;
{create the child report (parameters: main report) } lSubReport.CreateReport(ppReport1);
lReport := TppChildReport(lSubReport.Report);
{assign a datapipeline} lReport.DataPipeline := plCustomers;
{create the default set of bands} lReport.CreateDefaultBands;
Comments
Your best option would be to save all 10 of your reports to Report Templates
then in a separate blank report, load each template into a Section Style
subreport either manually or dynamically in code. Below are a couple
articles that may help get you on the right track.
-------------------------------------------------
TECH TIP: Creating a SubReport in Code
-------------------------------------------------
A subreport is comprised of two objects:
1. SubReport control
The subreport control is added to a band of the
'parent' report. It has properties such as
ShiftRelativeTo, PrintBehavior, etc.
In the Report Designer, the subreport is drawn
as a rectangle.
2. ChildReport
The child report is a descendant of CustomReport and has
most of the same properties as a standard Report.
The child report has a separate layout workspace in the report
designer that is accessible by selecting the tabs at the bottom
of the designer.
When dynamically creating a subreport in code you need to
create the subreport and the underlying child report.
The subreport.Report property can then be used to access
the child report.
This is demonstrated in the following example:
var
lSubReport: TppSubReport;
lReport: TppChildReport;
lLabel: TppLabel;
lDBText: TppDBText;
begin
lSubReport := TppSubReport.Create(Self);
{add to the main report's detail band}
lSubReport.Band := ppReport1.DetailBand;
{create the child report (parameters: main report) }
lSubReport.CreateReport(ppReport1);
lReport := TppChildReport(lSubReport.Report);
{assign a datapipeline}
lReport.DataPipeline := plCustomers;
{create the default set of bands}
lReport.CreateDefaultBands;
lLabel := TppLabel.Create(Self);
lLabel.Band := lReport.TitleBand;
lLabel.Caption := 'Customers';
lLabel.Font.Name := 'Times New Roman';
lLabel.Font.Size := 24;
lDBText := TppDBText.Create(Self);
lDBText.Band := lReport.DetailBand;
lDBText.DataPipeline := plCustomers;
lDBText.DataField := 'CustNo';
lDBText.Color := clYellow;
lDBText.Font.Name := 'Times New Roman';
lDBText.Font.Size := 12;
end;
Loading a Template to a Subreport...
Subreport.Report.Template.FileName := 'myTemplate.rtm';
Subreport.Report.Template.LoadFromFile;
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com