codigo con el que llamo al report con el store procedure QUE FUNCIONA:
Código:
codigo con el que llamo al report con el data set QUE NO FUNCIONA:CrystalReport1 mipres = new CrystalReport1(); //los siguientes parametros los tomo del form y los muestro en el report mipres.SetParameterValue("codp", f_principal.codp); mipres.SetParameterValue("desp", f_principal.descp); mipres.SetParameterValue("fecha", f_principal.fecha); mipres.SetParameterValue("ayn", f_principal.apellido +" "+ f_principal.nombre); mipres.SetParameterValue("obras", f_principal.obras); mipres.SetParameterValue("desc", f_principal.desc); mipres.SetParameterValue("total", f_principal.total); mipres.SetParameterValue("afil", f_principal.afil); mipres.SetParameterValue("parametro1", f_principal.factura); crystalReportViewer1.ReportSource = mipres;
Código:
report1 tb = new report1(); DataSet ds = tb.DevuelveDataSet(); CrystalDecisions.CrystalReports.Engine.ReportDocument rd = new CrystalReport1(); //los siguientes parametros los tomo del form y los muestro en el report rd.SetParameterValue("codp", f_principal.codp); rd.SetParameterValue("desp", f_principal.descp); rd.SetParameterValue("fecha", f_principal.fecha); rd.SetParameterValue("ayn", f_principal.apellido + " " + f_principal.nombre); rd.SetParameterValue("obras", f_principal.obras); rd.SetParameterValue("desc", f_principal.desc); rd.SetParameterValue("total", f_principal.total); rd.SetParameterValue("afil", f_principal.afil); mipres.SetDataSource(ds); foreach (CrystalDecisions.CrystalReports.Engine.ReportDocument sr in mipres.Subreports) { if (sr.Database.Tables.Count > 0) { sr.SetDataSource(ds); } } this.crystalReportViewer1.ReportSource = rd; this.crystalReportViewer1.Show();