Ich verwende CrystalReportViewer und CrystalReportSource zum Laden und Anzeigen einer .rpt-Datei in meiner Anwendung.Dynamisch die Verbindung eines Crystal Reports-Berichts ändern
Die Situation, die ich habe, ist dies:
Sprich eine Person einen Crystal-Bericht außerhalb meiner Anwendung erstellt und legen Sie die Datenquelle Datenbank A. ich dann die RPT-Datei in meiner Anwendung verwenden, aber ich brauche es zu binden zu einer anderen Datenbank (identisch mit der ursprünglichen Datenbank in Bezug auf Tabellenstruktur und Spaltennamen, jedoch mit einer anderen Verbindungszeichenfolge, die einen anderen Benutzernamen und ein anderes Kennwort verwendet). Wie mache ich das in C#?
Zur Zeit lade ich den Bericht mit:
this.CrystalReportSource1.ReportDocument.Load(reportsSubfolder + report.ReportFileName);
//it is here that I need to change the connection data of the report.
Hallo Dusty ... danke für die Hilfe. Ich habe die oben genannten Codezeilen implementiert und auch selbst recherchiert. so meinen Code Hier ist,: private void AssignConnectionInfo (Report Dokument, Connection crConnection) { foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in document.Database.Tables) { – suzi167
Hier ist der Code - traf leider die Post zu früh vor: private void Assign (Report Dokument, Connection crConnection) { foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in document.Database.Tables) { CrystalDecisions.Shared.TableLogOnInfo tableLogonInfo = crTable.LogOnInfo; tableLogonInfo.ConnectionInfo = crVerbindung; crTable.ApplyLogOnInfo (tableLogonInfo); CrystalReportViewer1.ReportSource = Dokument; CrystalReportViewer1.RefreshReport(); } crConnection hat die korrekten Werte für die Übertragung. – suzi167
Die Formatierung ist übrigens nicht sehr gut ... gibt es eine Möglichkeit, meine Nachricht zu formatieren (wie Tags oder etwas) – suzi167