【发布时间】:2012-03-30 00:24:45
【问题描述】:
以下代码位于一个方法中,它使用报表查看器来呈现报表:
objReportViewer.LocalReport.ReportPath = "TestReport.rdlc";
objReportViewer.LocalReport.DataSources.Clear();
objReportViewer.LocalReport.DisplayName = "TestReport_" + DateTime.Now.ToString("yyyyMMdd");
object objReportDataSource = TestReportDataSource(Id);
objReportViewer.LocalReport.DataSources.Add(new ReportDataSource("TestReportDataSource", objReportDataSource));
objReportViewer.ZoomMode = ZoomMode.PageWidth;
ReportParameter[] arrReportParameters = new ReportParameter[3];
// First Name
arrReportParameters[0] = new ReportParameter("FirstName",person.FirstName);
// LastName
arrReportParameters[1] = new ReportParameter("LastName", person.LastName);
//DOB
arrReportParameters[2] = new ReportParameter("Age",person.DOB);
objReportViewer.ShowParameterPrompts = false;
objReportViewer.DocumentMapCollapsed = true;
objReportViewer.ShowDocumentMapButton = false;
objReportViewer.LocalReport.SetParameters(arrReportParameters);
objReportViewer.LocalReport.ExecuteReportInSandboxAppDomain();
objReportViewer.LocalReport.Refresh();
到目前为止,尝试生成报告时没有问题,如果有很多信息,那么报告将有两页或更多页。如果我想打印或导出为 .pdf,我可以从呈现的报告中进行。 我的问题有两个:
1- 如何以编程方式将报表查看器导出为 .pdf。
2- 如何让报表查看器仅显示一页而忽略其余数据,或者在以编程方式将其导出为 .pdf 的情况下,如何仅导出第一页而忽略其余数据。
例如,如果一个报表通常会呈现 2 个页面,我希望它只呈现第一个页面。
是否可以使用报表查看器来完成?
谢谢。
【问题讨论】:
标签: c# asp.net reportviewer report-viewer2010 reportviewer2008