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();

