Crystal reports ExportToDisk

giovedì 21 maggio 2009 - 12.28

simbla79 Profilo | Junior Member

Ciao a tutti,

come posso fare a velocizzare la ExportToDisk in formato PDF?

Secondo me ci mette un pò troppo...

Ciao e grazie

luxsor Profilo | Guru

Ciao Marco,
di quanto tempo stai parlando?

Posta il codice che utilizzi.


------------------------
Luxsor

simbla79 Profilo | Junior Member

qesta è la riga di codice

tReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, sInvoiceName)


ci mette circa 7 sec

luxsor Profilo | Guru

Quello che volevo sapere io e che in Debug l'esecuzione di questa riga di codice di impiega 7 secondi?
>tReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat,
>sInvoiceName)

Fammi sapere


------------------------
Luxsor

simbla79 Profilo | Junior Member

si + o - si

scusami ho sbagliato non è tanto la export to disk ma la report.load(nome report) che ci mette un pò...

ciao e scusami

PS è possibile cambiare il titolo del post? in load report e non export to disk

luxsor Profilo | Guru

>scusami ho sbagliato non è tanto la export to disk ma la report.load(nome
>report) che ci mette un pò...

Purtroppo questa lentezza è dovuta al caricamento dell'Engine di Crystal Report che è pesantino.

L'unica cosa che potresti fare è quella di eseguire il Load del report, all'avvio del programma, perchè come si sa bisogna sempre attendere qualche secondo per l'avvio del programma.

>ciao e scusami
Di nulla

>PS è possibile cambiare il titolo del post? in load report e
>non export to disk
Non credo.




------------------------
Luxsor

freeteo Profilo | Guru

Ciao,
confermo quanto detto da Luxor, puoi provare a lanciare il caricamento di un Report senza poi visualizzarlo o farci qualcosa, solamente per far eseguire il "Load" che richiama il runtime, con un codice di questo tipo:
Thread t = new Thread( delegate() { ReportDocument r = new ReportDocument(); r.Load("....\report.rpt"); }); t.IsBackground = true; t.Priority = ThreadPriority.Lowest; t.Start();

*ps: se ti serve la sintassi vb.net puoi provare con un traduttore come: http://www.carlosag.net/Tools/CodeTranslator/

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

simbla79 Profilo | Junior Member

Grazie per la risposta,

si ho risolto con una cosa di simile ho fatto una report.load() all'avvio dell'applicazione...

comunque il report non mi serve visualizzarlo mi serve solo per esportarlo.
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5