C# ASP.NET报表查看器
以下代码驻留在方法中,并使用报表查看器呈现报表:C# ASP.NET报表查看器,c#,asp.net,reportviewer,report-viewer2010,reportviewer2008,C#,Asp.net,Reportviewer,Report Viewer2010,Reportviewer2008,以下代码驻留在方法中,并使用报表查看器呈现报表: objReportViewer.LocalReport.ReportPath = "TestReport.rdlc"; objReportViewer.LocalReport.DataSources.Clear(); objReportViewer.LocalReport.DisplayName = "TestReport_" + DateTime.Now.ToStri
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-如何使报表查看器仅显示1页而忽略其余数据,或者在以编程方式将其导出为.pdf的情况下,如何仅导出第一页而忽略其余数据
例如,如果一个报告通常会呈现2页,我希望它只呈现第一页
使用报表查看器是否可以完成
谢谢。我不知道如何将pdf限制为一页。但以下是导出为pdf的方式:
Microsoft.Reporting.WebForms.LocalReport oLocalReport = objReportViewer.LocalReport;
byte[] renderedBytes = null;
string reportType = "PDF";
string mimeType = "application/pdf";
string encoding = null;
Microsoft.Reporting.WebForms.Warning[] warnings = null;
string[] streams = null;
string deviceInfo = "<DeviceInfo><OutputFormat>PDF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight></DeviceInfo>";
//Render the report
renderedBytes = oLocalReport.Render(reportType, deviceInfo, mimeType, encoding, "PDF", streams, warnings);
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.ContentType = mimeType;
System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + _reportName + ".PDF");
System.Web.HttpContext.Current.Response.BinaryWrite(renderedBytes);
System.Web.HttpContext.Current.Response.End();
Microsoft.Reporting.WebForms.LocalReport-oLocalReport=objReportViewer.LocalReport;
字节[]renderedBytes=null;
string reportType=“PDF”;
字符串mimeType=“application/pdf”;
字符串编码=空;
Microsoft.Reporting.WebForms.Warning[]warnings=null;
字符串[]streams=null;
字符串deviceInfo=“PDF8.5in11in”;
//提交报告
renderedBytes=oLocalReport.Render(reportType、deviceInfo、mimeType、编码、“PDF”、流、警告);
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.ContentType=mimeType;
System.Web.HttpContext.Current.Response.AddHeader(“内容处置”、“附件;文件名=“+\u reportName+”.PDF”);
System.Web.HttpContext.Current.Response.BinaryWrite(renderdbytes);
System.Web.HttpContext.Current.Response.End();