Хорошо!
Я пытаюсь напрямую передать список параметров непосредственно в подотчет, так как основной отчет повторно используется в качестве основного отчета для всех списков (подотчетов), которые я делаю, поэтомунет смысла передавать его в основной отчет, так как он меняется в зависимости от подотчета.
Я уже пытаюсь передать значения параметров в качестве источника данных в подотчете, но этоне разрешается использовать его в формуле (выражении) 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)?