Параметры подотчета (RDLC) - PullRequest
0 голосов
/ 06 июня 2019

Хорошо!

Я пытаюсь напрямую передать список параметров непосредственно в подотчет, так как основной отчет повторно используется в качестве основного отчета для всех списков (подотчетов), которые я делаю, поэтомунет смысла передавать его в основной отчет, так как он меняется в зависимости от подотчета.

Я уже пытаюсь передать значения параметров в качестве источника данных в подотчете, но этоне разрешается использовать его в формуле (выражении) Tablix, связанной с другим источником данных / набором данных.

Это пример того, как он определен:

  public FormBCSLCLIE(XDocument parametrosXML)
    {
        //LISTA DE PARAMETROS A DEFINIR DIRECTAMENTE EN EL SUBREPORT
        IList<ReportParameter> ListaParametros = new List<ReportParameter>();
        ListaParametros.Add(new ReportParameter("FormtFechaHora", Constantes_Reporting.FormatoFechaHoraEncabezado));
        ListaParametros.Add(new ReportParameter("Codorden", CodOrden));
        ListaParametros.Add(new ReportParameter("Codorden1", CodOrden1)); this.reportViewer1.LocalReport.SetParameters(ListaParametros);

        this.reportViewer1.ProcessingMode = ProcessingMode.Local;
        StreamReader streamEncab = File.OpenText(Constantes_Reporting.rutaEncabezadoHorizontal);
        this.reportViewer1.LocalReport.LoadReportDefinition(streamEncab);
        this.reportViewer1.LocalReport.LoadSubreportDefinition("ReportDtl", streamReportDtl);
        this.reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(AgregarReportDtl);
   }

   void AgregarReportDtl(object sender, SubreportProcessingEventArgs e)
    {            
        ReportDataSource dataSourceVariablesGrales = new ReportDataSource(Constantes_Reporting.Variables_Grales, (DataTable)Constructores_Reporting.Variables_Grales);            
        ReportDataSource dataSourceVariables = new ReportDataSource(Constantes_Reporting.Variables, (DataTable)dsClientes.Variables);            
        ClassReporting.CargarDT(classXML.parametrosXML, Constructores_Reporting.nombreSP, dsClientes);                        
        ReportDataSource dataSourceDtl = new ReportDataSource(Constantes_Reporting.Input_Items, (DataTable)dsClientes.Input_Items);            


        int Demora = int.Parse(dsClientes.Tables["Demora"].Rows[0][0].ToString());
        ClassReporting.GuardarInfoEjecucion(classXML.parametrosXML, Constantes_Reporting.nombreMaquina, Demora);

        e.DataSources.Add(dataSourceVariablesGrales);
        e.DataSources.Add(dataSourceVariables);
        e.DataSources.Add(dataSourceDtl);

    }

Кто-нибудьесть идеи, как передать его непосредственно из параметров метода / подпроцесса (SubreportProcessingEventHandler)?

...