Crystal Reports e WPF

lunedì 01 febbraio 2010 - 01.01

Gemini Profilo | Expert

Ciao a tutti
sto realizzando una piccola applicazione per la stampa di etichette. La sto realizzando con WPF e vorrei utilizzare crystal reports, ma ho alcuni problemi:
1-come faccio a creare un report CR con visual studio 2008? Quando faccio 'nuovo elemento' non trovo nessun file .rpt
2-come faccio ad aggiungere i controlli CR nella casella segli strumenti?
3-E' possibile creare un report nel quale indico solo i nomi dei campi e successivamente passa dall'applicazione WPF un datatable con i dati per popolare in report?
Grazie mille

tonyexpo Profilo | Senior Member

Ciao

per creare un nuovo report devi aggiungerlo al progetto. dovresti trovartelo nel solution explorer

hai poi 3 modi per passargli dei valori: usare una classe che rappresenta la singola istanza di dettaglio, usare un datatable tipizzato, usare dei parametri

1) classe

class item {
public string nome {get;set;}
public string cognome {get;set;}
}

2) crei un datatable tipizzato facendo aggiungi nuovo dataset. Il datatable non deve essere obbligatoriamente connesso al database

3) aggiungi dei parametri stesso nel report. sono nella finestra "field explorer" sotto la voce "parameters field"


una volta creato il report, nel tuo form dovrai usare un oggetto CrystalReportViewer, dovrebbe essere per windowsforms, ma dovrebbe essere utilizzabile anche in WPC, magari sarà 1 po più brutto....

al viewer passi nella property .ReportSource il tuo report così:

var r = new MyReport (ipotizzando di aver aggiunto un report al progetto di nome MyReport.rpt)
r.SetDataSource(<il datatable tipizzato o una List<item> della tua classe);

oppure
r.SetParameterValue("<nomeparametro>","valore"); per ogni paramentro che hai creato nel report


se hai problemi scrivi
ciao

Antonio Esposito
MCTS, MCP

http://blogs.dotnethell.it/espositos

Gemini Profilo | Expert

Ciao e grazie per l'aiuto
non mi è chiaro cosa devo fare.
in WPF per aggiungere un CrystalReportViewer ho trovato che bisogna fare così:

<WindowsFormsHost>
<crystal:CrystalReportViewer x:Name="MyCrystalReportViewer" Width="1" Height="1"/>
</WindowsFormsHost>

Ora come faccio a passargli il report e i dati?
grazie

tonyexpo Profilo | Senior Member

Ciao


MyCrystalReportViewer.ReportSource=<istanzadeltuoreport>

il viewer lo potrai customizzare come vuoi per mostrare o meno la toolbar (.DisplayToolbar), statusbar (.DisplayStatusBar)e/o il treeview per i gruppi (.DisplayGroupTree)





Antonio Esposito
MCTS, MCP

http://blogs.dotnethell.it/espositos
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5