ciao,
a mio avviso il report è un visualizzatore "complesso" di dati.
Ma i dati che visualizza glieli passi tu da codice, nel tuo caso, i record che l'utente ha scelto a video.
Io procederei in questo modo:
- creo un report
- nel wizard gli dico di agagnciarsi al database che mi interessa (*)
- se voglio posso dirgli tutta la tabella, oppure un comando ( ad esempio: SELECT nome,cognome FROM etc..)
- disegno il report
- da codice mi carico i dati in una datatable e gliela passo:
ReportDocument report = new ReportDocument();
report.Load("c:\....\file.rpt");
report.SetDataSource(miaDataTable);
crystalViewer.ReportSource = report;
il gioco è dfatto, quello che sceglie l'utente viene passato al report sotto forma di record, e visualizzati, senza bisogno di avere parametri o altro...
Questo è l'utilizzo concettualmente piu' corretto del report.
(*) se non hai accesso ad un database, ma lavori in memoria o hai dati che nn ci sono, puoi crearti al volo un db di access con la struttura delle cose che vuoi visualizzare ed attaccarti a quello, tanto dopo da codice gli passerai tu una datatable e quindi il report visualizzera' i dati presenti in essa, dimenticando di essere stato costruito con quel db "temporaneo".
L'importante è solo stare attentiad avere la stessa struttura (oridine,numero e tipo di colonne)
ps: i prossimi problemi di report, anche se su win32, postali sulla stanza apposita del forum (l'ultima in basso) , cosi' teniamo piu' ordinati i threads...
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo