Page 1 of 1

Multiple reports in one viewer

Posted: Fri Nov 02, 2012 4:15 pm
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

Re: Multiple reports in one viewer

Posted: Mon Nov 05, 2012 7:11 am
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.