ciao,
i dati che passi al report possono provenire da diverse fonti (sia in numero, che in tipologia) quindi il fatto che tu legga da un file di testo, piuttosto che da un db, piuttosto che da un xml o addirittura che ti crei tutto al volo basandoti sul tuo domain model, è del tutto indifferente.
La cosa che serve al report però, è la struttura dei dati che gli passerai, nel senso di dire costruisco un report con 3 campi di tipo stringa,int e datetime, e questi campi (o colonne di un datatable) saranno passati al report, da dove provengano è assolutamente compito della tua applicazione e non fa differenza al Report, basta solo che lo "schema" (quindi la sequenza di campi e la tipologia) sia lo stesso.
Premesso questo concetto fondamentale, nel tuo caso, io proporrei di costruirti il report da design agganciandoti al db che contiene la tabella "Banca" ad esempio, ed estrapolare le colonne che ti interessa poi visualizzare, dall'esperto database.
Non preoccuparti se il db è tuo locale, o è di prova, non importa, i dati glieli passerai con la tua tecnica di leggere la connectiostring.txt e il SqlDataReader, quello che importa qui è far capire al report cosa (e come) deve visualizzare.
Fatto questo disegni il report, lo componi come lo vuoi, e lo salvi.
Nella tua form dove metti il ReportViewer, fai un codice (nel load magari) di questo tipo:
...codice tuo di prima per la connessione...
cmd.CommandText = "SELECT Abi, IstitutoCredito, Cab," & _
"Agenzia, IndirizzoIstituto, LuogoIstituto," & _
"Cap, Prov FROM Banca
cmd.Connection = objConnection
objDataReader = cmd.ExecuteReader
'--- carichiamo colonne/righe in una datatable
Dim tabella as new DataTable()
tabella.Load(objDataReader)
'--- adesso carichi il report e gli passi i dati contenuti nella datatable
Dim mioreport as new ReportDocument()
mioreport.Load("c:\...\mioreport.rpt")
mioreport.SetDataSource(tabella)
CrystalReportViewer1.ReportSource = mioreport
la cosa è abbastanza semplice, l'unica cosa da stare attenti è appunto costruire il report con le colonne che poi si troveranno nella datatable, altrimenti avrai un errore a runtime.
Se vuoi capire meglio, puoi guardare questo:
http://www.dotnethell.it/articles/Crystal-Reports-Integration-Windows-Form.aspx
dove trovi anche un esempio già pronto da scaricare e vedere il caso in cui i dati vengono passati tramite datatable.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo