Estoy usando CrystalReportViewer y CrystalReportSource para cargar y mostrar un archivo .rpt en mi aplicación.Cambie dinámicamente la conexión de Crystal Report
La situación que tengo es la siguiente:
decimos que una persona crea un informe de cristal fuera de mi solicitud y establezca su fuente de datos a la base de datos A. Luego utilizo ese archivo rpt en mi solicitud, pero tengo que obligar a éste a una base de datos diferente (idéntica a la original en términos de estructura de tabla y nombres de columna, pero con una cadena de conexión diferente que utiliza un nombre de usuario y contraseña diferentes). ¿Cómo hago eso en C#?
Actualmente cargo el informe usando:
this.CrystalReportSource1.ReportDocument.Load(reportsSubfolder + report.ReportFileName);
//it is here that I need to change the connection data of the report.
Hi Dusty ... gracias por la ayuda. Implementé las líneas de código anteriores y también hice algunas investigaciones por mi cuenta. por lo hereis mi código: AssignConnectionInfo (documento ReportDocument, ConnectionInfo crConnection) private void { foreach (CrystalDecisions.CrystalReports.Engine.Table crTable en document.Database.Tables) { – suzi167
Este es el código - lo siento golpeó el poste demasiado temprano antes: AssignConnection private void (documento ReportDocument, ConnectionInfo crConnection) { foreach (CrystalDecisions.CrystalReports.Engine.Table crTable en document.Database.Tables) { CrystalDecisions.Shared.TableLogOnInfo TableLogOnInfo = crTable.LogOnInfo; tableLogonInfo.ConnectionInfo = crConnection; crTable.ApplyLogOnInfo (tableLogonInfo); CrystalReportViewer1.ReportSource = document; CrystalReportViewer1.RefreshReport(); } crConnection tiene los valores correctos cuando se pasa. – suzi167
El formateo no es muy bueno, por cierto ... ¿hay alguna forma de formatear mi mensaje (como etiquetas o algo así) – suzi167