0

次のコードはメソッド内にあり、レポート ビューアーを使用してレポートを表示します。

            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();

これまでのところ、レポートを生成しようとしても問題はありません。多くの情報がある場合、レポートには 2 つ以上のページが含まれます。.pdf に印刷またはエクスポートする場合は、レンダリングされたレポートから実行できます。私の質問は2つあります:

1- プログラムでレポート ビューアを .pdf にエクスポートするにはどうすればよいですか。

2-レポートビューアに残りのデータを無視して1ページのみを表示させるにはどうすればよいですか、またはプログラムで.pdfにエクスポートする場合、残りを無視して最初のページのみをエクスポートするにはどうすればよいですか.

たとえば、レポートが通常 2 ページをレンダリングする場合、最初のページのみをレンダリングする必要があります。

レポート ビューアーを使用して達成することは可能ですか?

ありがとうございました。

4

1 に答える 1

1

PDFを1ページに制限する方法がわかりません。しかし、ここにあなたが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();
于 2012-03-30T13:23:35.697 に答える