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
Richiesta parametro in fase di stampa con Crystal Report
martedì 10 febbraio 2009 - 13.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Simon3
Profilo
| Newbie
30
messaggi | Data Invio:
mar 10 feb 2009 - 13:44
Ciao a tutti.. Prima di postare ho cercato nel forum, provando le soluzioni dei post riguardanti il mio problema, ma non sono riuscito a risolverlo.
Ho la necessità di mostrare/non mostrare dei sottoreport in base a dei parametri che gli passo via codice.
Il tutto funziona, solo che quando vado in stampa, mi compare la finestra di richiesta di parametri, dove devo impostare manualmente gli stessi per consentire la corretta visualizzazione.
Io vorrei che questi parametri li prenda dal code behind da dove li specifico e non dalla finestra di dialogo.
Ecco il mio codice, grazie in anticipo a tutti quelli che mi aiuteranno:
public ReportDocument setPreviewPrint()
{
try
{
//Definisco il DataTable MASTER
DataTable dtArticolo = this.getDtArticolo();
//Imposto il report SOURCE MAIN
_reportArticolo.SetDataSource(dtArticolo);
//Definisco i DATATABLE DETAILS
DataTable dtArticoloDatiFisici = this.getDtDatiFisici();
DataTable dtArticoloDatiVendita = this.getDtDatiVendita();
DataTable dtArticoloCodiciBarre = this.getDtCodiciBarre();
DataTable dtArticoloDepositi = this.getDtDepositi();
//Imposto i subreports
if (App.LastFlagTipoGestionePrezzi == Azienda.defTipoGestioneListino)
{
_reportArticolo.SetParameterValue("OmettiPrezziListino", false);
_reportArticolo.SetParameterValue("OmettiPrezziNetti", true);
_reportArticolo.OpenSubreport("CrArticoloPrezziListino.rpt").SetDataSource(dtArticoloDatiVendita);
}
else
{
_reportArticolo.SetParameterValue("OmettiPrezziListino", true);
_reportArticolo.SetParameterValue("OmettiPrezziNetti", false);
_reportArticolo.OpenSubreport("CrArticoloPrezziNetti.rpt").SetDataSource(dtArticoloDatiVendita);
}
//_reportArticolo.OpenSubreport("CrArticoloDatiFisici.rpt").SetDataSource(dtArticoloDatiFisici);
_reportArticolo.OpenSubreport("CrArticoloCodiciBarre.rpt").SetDataSource(dtArticoloCodiciBarre);
_reportArticolo.OpenSubreport("CrArticoloDepositi.rpt").SetDataSource(dtArticoloDepositi);
}
catch (Exception Ex)
{
throw Ex;
}
return _reportArticolo;
}
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 25 feb 2009 - 16:40
Ciao e perdona il ritardo nella risposta, probabilmente avrai già risolto cmq ti rispondo lo stesso.
Presumo tu stia usando i Report di Crystal, anche se non lo hai specificato ma dal codice mi sembra di intuirlo, in questo caso ti manca di impostare i parametri di connessione al db a runtime.
Guarda questo thread:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=21962
come vedi hai 2 metodi, o gli passi tu i dati, setDataSource (ma probabilmente per i sottoreport che poi vuoi nascondere non li imposti) oppure impostare le LogonInfo.
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Simon3
Profilo
| Newbie
30
messaggi | Data Invio:
mer 25 feb 2009 - 16:56
Ciao Teo..
Si uso i Crystal Report e l'ho specificato nel titolo del Thread.
Ho risolto il mio problema, ma non potevo fare un reply al mio messaggio, così ne approfitto adesso, in modo tale da rendere la soluzione disponibile a qualche altro malcapitato.
Ho risolto impostando i parametri direttamente nella Window che contiene il Viewer e non nella funzione che crea il report.
public PrintWindow(ReportDocument doc)
{
InitializeComponent();
switch (doc.GetClassName())
{
case "Namespace.CrArticolo":
if (App.LastFlagTipoGestionePrezzi == Azienda.defTipoGestioneListino)
{
doc.SetParameterValue("OmettiPrezziListino", false);
doc.SetParameterValue("OmettiPrezziNetti", true);
}
else
{
doc.SetParameterValue("OmettiPrezziListino", true);
doc.SetParameterValue("OmettiPrezziNetti", false);
}
break;
}
////Report principale
this.cReportViewer.ReportSource = doc;
}
In questo modo prima viene creato il Report, poi gli vengono passati i parametri poco prima di andare in anteprima di stampa.
Così tutto funziona e la finestra di richiesta parametri non viene più aperta.
Grazie lo stesso. Alla prossima.
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 !