我遇到以下错误,我将在下面详述:
“在指定的位置SPECIFIC ROUTE \ Encabezado.rdlc上找不到'Encabezado'子报表。请验证该子报表已发布并且名称正确。” < / strong>
InitializeComponent();
string nombreSP = "XXX_SP_REPORTING_SERVICES_DESPACHOS";
DataSet ds = frmListClass.ObtenerDS(parametrosXML, nombreSP);
string[] nodoParametro = frmListClass.ParsearParametros(parametrosXML);
int[] cantDecimales = frmListClass.ObtenerCantDecimales(parametrosXML);
ReportParameter p1 = new ReportParameter("Base", nodoParametro[0]);
ReportParameter p2 = new ReportParameter("User", nodoParametro[1]);
ReportParameter p3 = new ReportParameter("Sistema", nodoParametro[3]);
ReportParameter p4 = new ReportParameter("Caratula", nodoParametro[4]);
ReportParameter p5 = new ReportParameter("FormatoQRP", nodoParametro[5]);
ReportParameter p6 = new ReportParameter("dcmlCant", cantDecimales[0].ToString());
ReportParameter p7 = new ReportParameter("dcmlCantTalle", cantDecimales[1].ToString());
ReportParameter p8 = new ReportParameter("dcmlPrecio", cantDecimales[2].ToString());
ReportParameter p9 = new ReportParameter("dcmlImporte", cantDecimales[3].ToString());
ReportDataSource dataSource = new ReportDataSource(nombreSP, ds.Tables[0]);
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.ProcessingMode = ProcessingMode.Local;
string rutaEncabezado = @"D:\\BASCS-ReportingServices\\BAS-ReportingServices\\BCSLDSPT\\Encabezado.rdlc";
string rutaRDLC = @"D:\\BASCS-ReportingServices\\BAS-ReportingServices\\BCSLDSPT\\Report1.rdlc";
Stream subReport = File.OpenRead(rutaEncabezado);
Stream report = File.OpenRead(rutaRDLC);
this.reportViewer1.LocalReport.LoadReportDefinition(report);
this.reportViewer1.LocalReport.LoadSubreportDefinition("Encabezado", subReport);
this.reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(AgregarEncabezado);
this.reportViewer1.LocalReport.DataSources.Add(dataSource);
this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1, p2, p3, p4, p5, p6, p7, p8, p9/*, p10, p11, p12, p13*/ });
this.reportViewer1.RefreshReport();
Warning[] warnings;
string[] streamIds;
string mimeType;
string encoding;
string filenameExtension;
byte[] bytes = reportViewer1.LocalReport.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamIds, out warnings);
string rutaArchivo = frmListClass.ObtenerRutaPDF(bytes);
System.Diagnostics.Process.Start(rutaArchivo);
void AgregarEncabezado(object sender, SubreportProcessingEventArgs e)
{
string Parametros = "1, 1, NULL, 1";
string cadenaConexion = "Data Source=SRVDESARROLLO7\\BASCS; Initial Catalog=bascsreport ;User Id=sa; Password=sa";
string cadenaComandoSQL = frmListClass.SeteosSQL + frmListClass.SP_Encabezado + " " + Parametros;
SqlConnection ConexionSQL = new SqlConnection(cadenaConexion);
ConexionSQL.Open();
SqlCommand ComandoSQL = new SqlCommand(cadenaComandoSQL, ConexionSQL);
ComandoSQL.CommandType = CommandType.Text;
ComandoSQL.Parameters.AddWithValue("@monoemp, @codempusu, @tituloinf, @whereemp", Parametros);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = ComandoSQL;
DataSet dsEncabezado = new DataSet();
da.Fill(dsEncabezado, Parametros);
ConexionSQL.Close();
ReportDataSource dataSourceEncabezado = new ReportDataSource("XXX_SP_REPORTING_PARAMETROS_EMP", dsEncabezado.Tables[0]);
e.DataSources.Add(dataSourceEncabezado);
}
我需要能够将子报表(标题)传递给主报表,因为在其中,我具有标题中显示的参数,几乎在所有报表中都重复该参数。子报表在另一个项目中,这可能是问题吗?
SubreportProcessingEventHandler是否定义不正确?
请帮助我!