如何在单个文件中生成多个报告
How can I generate multiple reports in a single
我想在一个文件中生成两个报告,当我 运行 我的代码显示一个有两页的文件(第一页是我的第一个报告,下一页是我的第二个报告)。
我该怎么做?
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);
}
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);
我想在一个文件中生成两个报告,当我 运行 我的代码显示一个有两页的文件(第一页是我的第一个报告,下一页是我的第二个报告)。 我该怎么做?
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);
}
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);