Stampare ed esportare report senza visualizzarli

lunedì 26 maggio 2008 - 11.36

bimbogino Profilo | Newbie

Ciao a tutti,
ho la necessità di salvare dei report in formato pdf senza visualizzarli con il CrystalReportViewer.

il mio frammento di codice è più o meno questo:

ReportDocument rpt = new ReportDocument();
rpt.Load(@"c:\report.rpt");
for (int k = 0; k < rpt.Database.Tables.Count; ++k)
{
rpt.Database.Tables[k].SetDataSource(dataSet.Tables[k]);
}


rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, @"c:\rep.pdf");

Questo codice mi genera un errore.

Se invece, visualizzo il report con il reportviewer prima di chiamare ExportToDisk non ci sono problemi.

Cosa sto sbagliando?

grazie mille
--
BG







Il problema però è che se provo a salvare il mio report senza prima averlo visualizzato

freeteo Profilo | Guru

ciao,
la cosa è molto strana, il tuo codice è giusto, e il fatto di visualizzarlo non deve essere obbligatorio, dato che avendo impostato le proprietà corrette di database, il render viene fatto corretto in memoria.

Non è che ti manca di settare qualche parametro al report?

Cmq se puoi essere più preciso sul messaggio di errore che da, mi aiuterebbe a focalizzare meglio...grazie

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

bimbogino Profilo | Newbie

Ho risolto grazie alla tua domanda riguardo ai parametri.

In pratica i parametri per il report venivano settati tramite
reportViewer.ParameterFieldInfo["par"].CurrentValues.AddValue("val");

questo perché i report, usando semplicemente report.SetParameterValue("par", "val"), non si visualizzavano (credo sia per un problema di porting del codice dalla versione 2003 alla 2005, ma non ne sono sicuro)

In questo caso invece se uso report.SetParameterValue("par", "val"); poi posso salvare il file senza visualizzarlo.

freeteo Profilo | Guru

>Ho risolto grazie alla tua domanda riguardo ai parametri.
ok

>In pratica i parametri per il report venivano settati tramite
>reportViewer.ParameterFieldInfo["par"].CurrentValues.AddValue("val");
probabilmente viene aggiunto "val" ai valori possibili di scelta invece che settare il vero e proprio valore del parametro


>questo perché i report, usando semplicemente report.SetParameterValue("par",
>"val"), non si visualizzavano (credo sia per un problema di porting
>del codice dalla versione 2003 alla 2005, ma non ne sono sicuro)
può essere, anche se purtroppo al momento non posso provare con entrambe le versioni


>In questo caso invece se uso report.SetParameterValue("par",
>"val"); poi posso salvare il file senza visualizzarlo.
ok

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5