Multiple reports in one viewer

Stimulsoft Reports.Flex discussion
Locked
jevans
Posts: 9
Joined: Mon Sep 24, 2012 9:05 pm

Multiple reports in one viewer

Post by jevans »

I am trying to get multiple reports generated and put into one viewer window. I have found some of your examples but but can not get it to work. This is what I am trying to do:

Code: Select all

var multiReport:StiReport = new StiReport();
multiReport.render();
multiReport.isRendered = true;
multiReport.renderedPages.clear();

for each(var report:IReport in selectedReports) {
	var xmlNode:XMLNode = StiTypeConverter.byteArrayToXml(report.getReportDefinition());				
	var dataXML:XML=report.createXML(reportPreferences, selectedGames, extraData, season);

	var tempReport: StiReport = new StiReport();
	tempReport.loadReportFromXML(xmlNode);
	tempReport.dictionary.databases.clear();
	tempReport.regDataXML("ReportConnection", "ReportConnection", dataXML);
	tempReport.render(false);

	for each(var page:StiPage in tempReport.renderedPages) {
		multiReport.renderedPages.add(page);
	}
}
multiReport.render();	//with this line you get blank pages, with out it you get a crash

viewerFx.assignReport(multiReport);
Any help would be much appreciated
Vladimir
Posts: 1462
Joined: Fri Apr 13, 2007 4:05 am
Location: Earth

Re: Multiple reports in one viewer

Post by Vladimir »

Hello,

Please try to use this code:

Code: Select all

var multiReport:StiReport = new StiReport();
multiReport.isDocument = true;  // need to turn off the automatic rerender
multiReport.isRendered = true;   // mark as rendered
multiReport.renderedPages.clear();

for each(var report:IReport in selectedReports) {
   var xmlNode:XMLNode = StiTypeConverter.byteArrayToXml(report.getReportDefinition());            
   var dataXML:XML=report.createXML(reportPreferences, selectedGames, extraData, season);

   var tempReport: StiReport = new StiReport();
   tempReport.loadReportFromXML(xmlNode);
   tempReport.dictionary.databases.clear();
   tempReport.regDataXML("ReportConnection", "ReportConnection", dataXML);
   tempReport.render(false);

   for each(var page:StiPage in tempReport.renderedPages) {
      page.report = null;  // need for assign new report parent
      multiReport.renderedPages.add(page);
   }
}

viewerFx.assignReport(multiReport);
Thank you.
Locked