我成功地将多页报告(* .mrt)合并为一个报告
但是我的问题是,当我单击报表查看器上的“打印”按钮时,结果打印是一页空白!!!
这是我的源代码:
StiReport report = new StiReport();
report.ReportCacheMode = StiReportCacheMode.Off;
report.RenderedPages.CanUseCacheMode = false;
report.RenderedPages.Clear();
report.IsRendered = true;
report.Compile();
foreach (string eda in routeENT.Select(s => s.Edaar).Distinct())
{
StiReport reportPage = StiReport.GetReportFromAssembly(ReportAppDLL);
reportPage["Date"] = dt;
reportPage["Day"] = DayWeek;
reportPage["RouteNumber"] = routeNum;
reportPage["Eaar"] = eda;
DataTable dataSource = new DataTable("DataSource");
dataSource.Columns.Add("D");
dataSource.Columns.Add("C");
dataSource.Columns.Add("A");
dataSource.Columns.Add("T");
foreach (vRouteFull route in STATICS.db.vRouteFulls.Where(s => s.Eda == eda))
{
dataSource.Rows.Add(
route.D,
route.C,
route.A,
route.T
);
}
reportPage.RegData(dataSource);
reportPage.RenderWithWpf();
foreach (Stimulsoft.Report.Components.StiPage page in reportPage.RenderedPages)
{
page.Report = report;
page.Name = eda;
//page.IsRendered = true;
page.Printable = true;
page.SetReportVariables();
report.RenderedPages.Add(page);
}
//reportPage.RenderedPages[0].Report = report;
//reportPage.RenderedPages[0].Name = eda;
//report.RenderedPages.Add(reportPage.RenderedPages[0]);
}
report.RenderedPages.RemoveAt(0); //for remove first empty page
在此之后,当我调用report.show()时,一切正常,但是当我单击设计查看器上的“打印”按钮时 结果是空白页...
请帮助