2008-10-02 39 views
12

¿Cómo se carga dinámicamente un nuevo informe de un recurso incrustado? Creé un proyecto de informe que contiene un informe como recurso incrustado. He añadido un segundo archivo de informe y pega el siguiente código para cambiar los informes:Cargar dinámicamente informe de recursos incrustados utilizando Microsoft.Reporting.WinForms

this.reportViewer1.LocalReport.ReportEmbeddedResource = "ReportsApplication2.Report2.rdlc"; 
this.reportViewer1.LocalReport.Refresh(); 
this.reportViewer1.RefreshReport(); 

Cuando este código se ejecuta, el informe original permanece visible en el visor de informes.

También he intentado usar

LocalReport.LoadReportDefinition 

pero tenía el mismo resultado.

Respuesta

9

La respuesta: usted tiene que llamar

<ReportViewer>.Reset(); 

antes de cambiar el valor de ReportEmbeddedResource o llamando LoadReportDefinition.

Después de hacerlo, usted también tiene que llamar

<ReportViewer>.LocalReport.DataSources.Add(...); 

para reestablecer las fuentes de datos.

+0

Solo quiero agregar un comentario que diga que puede encontrarse con errores con parámetros no definidos a menos que también haga esto 'Reset'. – test

Cuestiones relacionadas