ASP.NET средство просмотра отчетов - PullRequest
0 голосов
/ 30 марта 2012

Следующий код находится внутри метода и использует средство просмотра отчетов для визуализации отчетов:

            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 страницы, я хочу, чтобы он отображал только первую.

Можно ли выполнить просмотр отчетов?

Спасибо.

1 Ответ

1 голос
/ 30 марта 2012

Я не уверен, как ограничить 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();
...