Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
Accesso ad oggetti in runtime
giovedì 17 novembre 2005 - 14.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Shel
Profilo
| Newbie
4
messaggi | Data Invio:
gio 17 nov 2005 - 14:40
Ciao ho un problema con crystal report per .net:
Mi hanno dato da tradurre un report da active report per .net a crystal report .net.
Il report in questione dovrebbe apparire ogni qualvolta viene catturata un eccezione e mostrare nella sezione di detail il risultato dell eccezione. Ciò chiaramente avviene a runtime ed in active report nel page load viene passato il contenuto di un array di stringhe alla property text dell oggetto campo di testo del report così: Report.Text3.SetText Qui il testo dell eccezione
Come faccio a fare la stessa cosa in crystal report?
Ho l impressione che in crystal report per .net non sia possibile accedere agli oggetti del report in runtime.
Eventualmente ho anche una versione di Crystal Report 9 Developer Ecdition. Ma Comunque non saprei come fare perché non sembra essere compatibile con VS.net 2003.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
gio 17 nov 2005 - 23:39
ciao,
la versione 9 di crystal è molto valida, la puoi usare tranquillamente per fare i report che poi caricherai dentro alle tue applicazioni .net semplicemente usando l'oggetto reportDocument.
Per quanto riguarda modificare a runtime i campi puoi usare i campi parametri o formula e poi settare il loro text.
Pero' la mia domanda è come mai usi il report x stampare solo il dettagli di 1eccezione? xche 1repotr nasce con il compito di elaborare e viasualizzare 1a mole di dati tipicamente tabelle o incroci delle stesso, quindi conn piu di 1 valore (ecco perche la sezione si chiama dettagli, plurale :-)
Ad ogni modo se lavori con l'oggetto report interno di visual studio istanzi da codice 1oggetto della classse report che hai creato (tipicamente "CrystalReport1") e poi gli setti il campo formula con quel valore...dovresti riuscire senza grossi problemi...
ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
Shel
Profilo
| Newbie
4
messaggi | Data Invio:
ven 18 nov 2005 - 09:40
Grazie per l' aiuto. Questo report serve per la stampa di un pdf delle eccezioni, poi ne dovrò tradurre molti altri più complessi...
Comunque continuo a non trovare il modo di accedere all' oggetto formula sul report da codice.
Ho trovato un altra soluzione anche se non ortodossa: metto sul report un field collegato ad un dataset
e poi faccio il push del dataset da codice riempendolo a mano dall' array che contiene le stringhe dell' eccezione.
{
Nell code behind del report:
Public Sub New()
Me.New(Nothing)
End Sub
Public Sub New(ByVal data As String())
MyBase.New()
If Not data Is Nothing Then
Dim ds As StampaErrorHandlerData = New StampaErrorHandlerData
Dim dr As DataRow
dr = ds.Tables(0).NewRow
dr(0) = data(0)
dr(1) = data(1)
ds.Tables(0).Rows.Add(dr)
Me.SetDataSource(ds)
End If
}
Saresti così gentile da dirmi passo passo che tipo di formula field crei e come accedi alla sua proprietà text da codice perchè non la trovo.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 21 nov 2005 - 01:33
ciao,
ti consigli di lavorare con l'oggetto report che hai creato tipo:
ReportDocument mioReport = new ReportDocument();
mioReport.Load("report.rpt");
...
mioReport.SetParameterValue(...
mioReport.DataDefinition.FormulaFields["miocampo"].Text = ...
e poi vai in stampa dandolo in pasto al reportviewer :
crystalreportviewer1.ReportSource = mioreport;
crystalreportviewer1.DataBind();
cosi va via tranquillo....
ps:cosi crei 1 nuovo oggetto report pero' puoi anche lavorare con la classe che ti crea quando lo aggiungi a design time ovvero tipicamente "CrystalReport1" se lasci tutto di default...poi l'accesso agli oggetti è lo stesso...
ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
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 !