Sto utilizzando CrystalReportViewer e CrystalReportSource per caricare e visualizzare un file .rpt nella mia applicazione.Modifica dinamica della connessione di un Crystal Report
La situazione che ho è questa:
che una persona ha creato un rapporto di cristallo al di fuori della mia applicazione e impostare il DataSource al database di A. allora io uso il file .rpt nella mia applicazione, ma ho bisogno di legarlo in un database diverso (identico a quello originale in termini di struttura della tabella e nomi di colonne ma con una stringa di connessione diversa che utilizza un nome utente e una password diversi). Come posso farlo in C#?
Attualmente mi caricare il report utilizzando:
this.CrystalReportSource1.ReportDocument.Load(reportsSubfolder + report.ReportFileName);
//it is here that I need to change the connection data of the report.
Ciao Dusty ... grazie per l'aiuto. Ho implementato le righe di codice sopra e ho anche fatto delle ricerche per conto mio. così hereis il mio codice: private void AssignConnectionInfo (documento ReportDocument, ConnectionInfo crConnection) { foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in document.Database.Tables) { – suzi167
Ecco il codice - mi dispiace, colpisce il palo troppo presto prima: AssignConnection private void (documento ReportDocument, ConnectionInfo crConnection) { foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in document.Database.Tables) { CrystalDecisions.Shared.TableLogOnInfo TableLogOnInfo = crTable.LogOnInfo; tableLogonInfo.ConnectionInfo = crConnection; crTable.ApplyLogOnInfo (tableLogonInfo); CrystalReportViewer1.ReportSource = document; CrystalReportViewer1.RefreshReport(); } crConnection ha i valori corretti superati. – suzi167
La formattazione non è molto buona tra l'altro ... c'è un modo per formattare il mio messaggio (come tag o qualcosa di simile) – suzi167