SubreportProcessingEventHandler не запускается даже без параметров в подотчете

Я пытаюсь использовать компонент подотчета в своем основном отчете, но не запускаю событие SubreportProcessingEventHandler даже без какого-либо параметра в подотчете, который может генерировать какие-либо ошибки.

 public ActionResult MyReport(DateTime dateReport)
    {
        var root = Path.GetDirectoryName(this.Server.MapPath("~"));

        if (string.IsNullOrEmpty(root))
        {
            return this.HttpNotFound();
        }

        var path = Path.Combine(root, "bin\\Reports\\MainReport.rdlc");


        if (System.IO.File.Exists(path))
        {
            this.reportViewer.LocalReport.ReportPath = path;                     
        }
        else
        {
            return this.View("Index");
        }

        this.LoadData(dateReport);

        var reportType = "PDF";
        string mimeType;
        string encoding;
        string fileNameExtension;

        var deviceInfo = "<DeviceInfo>" + "  <OutputFormat>" + reportType + "</OutputFormat>"
                         + "  <PageWidth>8.5in</PageWidth>" + "  <PageHeight>11in</PageHeight>"
                         + "  <MarginTop>0.2in</MarginTop>" + "  <MarginLeft>0.4in</MarginLeft>"
                         + "  <MarginRight>0.4in</MarginRight>" + "  <MarginBottom>0.1in</MarginBottom>"
                         + "</DeviceInfo>";

        Warning[] warnings;
        string[] streams;

        var renderedBytes = this.reportViewer.LocalReport.Render(
            reportType,
            deviceInfo,
            out mimeType,
            out encoding,
            out fileNameExtension,
            out streams,
            out warnings);

        return this.File(renderedBytes, mimeType);
    }


  private void LoadData(DateTime dateReport)
    {
        ........

        this.reportViewer.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(this.MySubreportEventHandler);

        this.reportViewer.LocalReport.DataSources.Add(new ReportDataSource("UserDataSet", users.DistinctBy(u => u.UserName)));
        this.reportViewer.LocalReport.DataSources.Add(new ReportDataSource("EluateReportDataSet", radiopharmacyEluateReports));
        this.reportViewer.LocalReport.DataSources.Add(new ReportDataSource("MarkingProtocolReportDataSet", radiopharmacyMarkingProtocolReports));

        this.reportViewer.LocalReport.Refresh();

    }

public void MySubreportEventHandler(object sender, SubreportProcessingEventArgs e)
    {
       .....
        e.DataSources.Add(new ReportDataSource("RadiopharmaceuticalQualityControlDataSet", radiopharmacyReportQualityControls));
    }

Я проверил вывод, и появилось это предупреждение:

Warning: Warnings occurred while executing the subreport ‘Subreport1’. (rsWarningExecutingSubreport)

person gvm    schedule 04.01.2016    source источник


Ответы (1)


После более подробного наблюдения я заметил, что подотчету действительно нужен параметр, который соответствует параметру, переданному основным отчетом. Без какого-либо параметра подотчет просто не работает.

person gvm    schedule 07.01.2016