Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
Discrepanza dati in CR
venerdì 15 giugno 2007 - 11.46
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
mickoz
Profilo
| Newbie
1
messaggi | Data Invio:
ven 15 giu 2007 - 11:46
Salve a tutti.
Sto sviluppando una Windows Application in C# nella quale c'è una sezione di ricerca. Devo passare i risultati di questa ricerca a Crystal Report in modo da permettere all'utente l'esportazione e/o la stampa.
Il metodo che utilizzo è questo:
1. Creo un report con Crystal Report, usando le tabelle e facendo le varie join necessarie.
2. Controllo se i dati del report sono corretti.
3. In Visual Studio creo una pagina con un oggetto CrystalReportViewer vuoto a cui non associo nessun sorgente.
4. Nella pagina di codice ho scritto questo:
public PageReportTipoUffici(object obj, SqlConnection conn)
{
InitializeComponent();
BindingSource tempBs = (BindingSource)obj;
System.Collections.IList lista = tempBs.List;
MessageBox.Show("Gli elementi sono " + lista.Count);
ReportDocument documento = new ReportDocument();
documento.Load("C:\\ReportTipoUffici.rpt");
documento.SetDataSource(lista);
crystalReportViewer1.ReportSource = documento;
crystalReportViewer1.DisplayGroupTree = false;
//Inizializzo il report fornendo i dati per la connessione
TableLogOnInfo credenziali = new TableLogOnInfo();
credenziali.ConnectionInfo.UserID = "user";
credenziali.ConnectionInfo.Password = "password";
crystalReportViewer1.LogOnInfo.Add(credenziali);
crystalReportViewer1.Refresh();
}
Visto che l'utente può filtrare i dati in qualsiasi modo, ho deciso di passare il BindingSource dal quale ottengo gli elementi voluti.
Ora, ho due report che funzionano nello stesso modo. In entrambi i casi ottengo i dati dalla join di due tabelle.
Ma in un caso ottengo risultati corretti.
Nell'altro caso, invece, se visualizzo il report in Crystal Report (anteprima) ho risultati corretti. Se visualizzo il report all'interno della mia Windows Application ottengo tutte le possibili combinazioni tra le due tabelle (17 pagine o qualcosa di simile).
Da notare: nel codice c'è una MessageBox dalla quale ottengo il numero degli elementi della lista, che è sempre corretto.
Allora mi chiedo: perchè diavolo mi crea un recordset sballato???
Dove sbaglio? Grazie mille per l'aiuto.
Nico
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
sab 16 giu 2007 - 18:02
ciao,
sinceramente non mi spiego la cosa, i report dovrebbero funzionare entrambi correttamente.
Ma guardando il codice mi nasce una domanda, perche' se gli setti i dati con il metodo "SetDataSource" poi gli specifchi anche i parametri di connessione?
Le due cose dovrebbero andare in mutua esclusione, ovvero nel caso in cui tu voglia passargli determinati dati filtrati (che è proprio il tuo caso), usi quel metodo, altrimenti gli passi i parametri di connessione al server e il report fa tutto da solo.
Non è che magari hai piu' di una tabella nel report e fai questa cosa perche' vuoi che alcuni dati siano passati da te ed altri presi da lui?
In ogni caso cmq io proverei a uniformare la tipologia di accesso ai dati del report, o tutti passati da te o tutti caricati da lui tramite LogonInfo...
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !