Crystal report SetDataSource

domenica 09 maggio 2010 - 22.06

giaarcix Profilo | Newbie

Ciao a tutti,
sono un principiante nell'utilizzo di Crystal Report. Ho un'applicazione sviluppata in vb.net 2005 e dei dati in xml da stampare.
Sono riuscito senza grossi problemi a creare la mia prima stampa seguendo le istruzioni che ho trovato qua e là in vari blog: nel mio progetto vb.net ho creato un oggetto dataset (xmlImpiantoMobile), un rpt (schedaImpiantoMobile), ed un form con il reportViewer.
Poi, con il codice che segue, ho caricato i dati del mio xml nel dataset ecc.ecc. fino a mostrare il report.

Dim dsReport As New xmlImpiantoMobile
Dim dsTempReport = New DataSet

dsTempReport.ReadXml("file.xml")
dsReport.Tables(0).Merge(dsTempReport.Tables(0))
Dim rptXMLReport As New schedaImpiantoMobile()
rptXMLReport.SetDataSource(dsReport.Tables(0))
CrystalReportViewer1.DisplayGroupTree = False
CrystalReportViewer1.ReportSource = rptXMLReport

Il tutto funziona ed il report appare come me lo aspettavo, ma l'istruzione rptXMLReport.SetDataSource(dsReport.Tables(0)) ci mette tantissimo ad essere eseguita, nonostante l'xml sia semplicissimo, del tipo:

<file>
<name>nome</name>
<targa>targa</targa>
<modello>modello</modello>
<ragioneSociale>ragioneSociale</ragioneSociale>
</file>

E anche il report sia composto solo da questi quattro campi (giusto per provare).
Quando dico tantissimo intendo dire fino a 15-20 secondi, quando mi immaginavo che il tutto dovesse essere estremamente veloce tanto più che non si tratta di leggere da un database tipo sql o access ma semplicemente da filesystem in locale.
Evidentemente sbaglio qualcosa! Ma cosa?
Se qualcuno ha avuto questo stesso problema e mi sa dire come posso fare o cosa sbaglio mi farebbe un grandissimo piacere.
Per questa sera vi saluto e chiudo. Grazie mille a tutti in anticipo,

Giacomo da Pavia

marcomorgia Profilo | Newbie

Ciao,

guarda se il problema te lo fà solo la prima volta che lanci una stampa ( o che ti visualizza la stampa a schermo ), è un problema proprio di crystal....

trovi tutto qui....

http://www.dotnethell.it/forum/messages.aspx?ThreadID=35165


Se te lo fà sempre non sò che dirti.
----------------------------------------------------
Morgia Marco

giaarcix Profilo | Newbie

Grazie mille per la risposta.
In effetti, subito dopo aver fatto una stampa, se la rilancio viene eseguita subito. Se lo faccio per tre o quattro volte di fila dopo poco però ricomincia a metterci tanto!
Questo è strano vero?

In realtà sto meditando se possa andarmi bene crystal report o se sia meglio cercare altro visto questo problema di lentezza nel caricare. La mia idea in effetti era quella di creare una applicazioncina stand alone che contenesse solo la stampa e che fosse chiamata dall'applicazione principale con un parametro che indicava di quale xml fare la stampa.
Solo che così facendo, se ci mette tanto a caricare, non mi conviene usare un'applicazione che fa solo quello e che si apre e chiude ogni volta! Giusto? Forse Crystal Report non è l'idea migliore se voglio fare una cosa così...

Altree idee? Se davvero fosse meglio non usare Crystal report che cosa potrei usare come sostituto?
Grazie!

marcomorgia Profilo | Newbie

Beh considera che utilizzando il crystal report per Visual Studio poi dovrai installare un redistributable package ( all'incirca 20 mega ) sulla macchina da cui devi effettuare le stampe.

All'interno della tua macchina ( quella di sviluppo per intenderci ) non cé ne è bisogno perchè sono compresi con Visual Studio.

So che ci sono altri programmi ( sinceramente non sò quali ).
----------------------------------------------------
Morgia Marco

giaarcix Profilo | Newbie

Adesso sto provando reportviewer che mi sembra molto più veloce.
Posterò ancora se avrò problemi, per adesso concludo, grazie

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