>Ciao!
Ciao
>Sto facendo esperienza con i crystal report.
>Sono riuscito a fare il load del documento.rpt da un path.
>poi gli passo la mia datatable come datasource.
>E fino a qui tutto ok!
ok
>Come si può fare però a passare più di una tabella?
beh puoi passare ad ogni Table del report la relativa DataTable contenente i dati, qualcosa come:
ReportDocument report = new ReportDocument();
report.Load(...);
report.Database.Tables("prima").SetDataSource( dataTable1 );
report.Database.Tables("seconda").SetDataSource( dataTable2 );
dove ovviamente devi mettere i nomi corretti delle tabelle del report (puoi andare anche con indice se vai meglio).
>Ovvero, mi interesserebbe passargli la tabella con i dati, e
>poi passargli dei campi come 'intestazione del report, il nome
>di chi lo produce ecc
o metti un'altra tabella nel report, oppure puoi pensare di settare da codice di vari dati tramite delle formule, senza ricorrere ad altre sorgenti dati:
- aggiungi delle formule a seconda dei dati che vuoi visualizzare nel report
- da codice setti i valori "testuali" delle formule in modo che vengano visualizzati nel report :
...
report.DataDefinition.FormulaFields["nome"].Text = " 'MioNome' ";
report.DataDefinition.FormulaFields["cognome"].Text = " 'Altro valore' ";
etc...
da notare gli apici singoli nel valore, perchè stai modificando quello che scriveresti nell'editor delle formule di Crystal, nient'altro.
ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo