Как я могу создать несколько отчетов в одном - PullRequest
0 голосов
/ 30 октября 2018

Я хочу создать два отчета в одном файле, чтобы при запуске моего кода показывался файл, состоящий из двух страниц (первая страница была моим первым отчетом, а следующая страница была моим второстепенным отчетом). как я могу это сделать?

public ActionResult GetReport(Guid? productionId){
StiReport report = new StiReport();
report.Load(Server.MapPath("~/Reports/ElementProduction.mrt"));
report.Load(Server.MapPath("~/Reports/ElementProduction2.mrt"));
return StiMvcViewer.GetReportResult(report);
}

1 Ответ

0 голосов
/ 31 октября 2018
public ActionResult GetReport(Guid? productionId){
report.Load(Server.MapPath("~/Reports/ElementProduction1.mrt"));
StiReport report = new StiReport();
report.Compile();
report.Render();
StiReport report2 = new StiReport();
report.Load(Server.MapPath("~/Reports/ElementProduction2.mrt"));
report2.Compile();
report2.Render();

StiReport joinedReport = new StiReport();
joinedReport.NeedsCompiling = false;
joinedReport.IsRendered = true;
joinedReport.RenderedPages.Clear();

foreach (StiPage page in report1.CompiledReport.RenderedPages)
{
    page.Report = joinedReport;
    page.NewGuid();
    joinedReport.RenderedPages.Add(page);
}
foreach (StiPage page in report2.CompiledReport.RenderedPages)
{
    page.Report = joinedReport;
    page.NewGuid();
    joinedReport.RenderedPages.Add(page);
}

return StiMvcViewer.GetReportResult(joinedReport);
...