Visualizzare il parametro di stampa all'interno del report

giovedì 06 ottobre 2005 - 13.42

sirena Profilo | Newbie

Ho una maschera (Asp) dove inserisco due date x_Data_Da e x_Data_A...e lancio la stampa del report......queste date mi filtrano la visualizzazione di alcuni dati nel report...
Dunque avrei bisogno di vedere stampato nel report queste due date ad es. nel titolo
"STAMPA ELENCO BONIFICI DAL 'x_Data_Da' AL 'x_Data_A'... in modo tale che le due date siano sempre variabili...
ma non so come passarle effettivamente al report per farle visualizzare (il filtro me lo effettua ad ogni modo!!!) Qualcuno sa darmi qualche indicazione?
thks!!!

Mirco65 Profilo | Newbie

E' semplice basta che glie li passi da script;
Nel report devi inserire un campo parametro dataDa e
nella chiamata al report fai :

Rpt.Rpt.SetParameterValue("dataDa", <campo data> )
Ciao

freeteo Profilo | Guru

ciao
esatto Mirco ha ragione è il metodo giusto.
Ti consiglio anche di usare 2 campi parametro se puoi in modo da comporre la stringa "dal {?par1} al {?par2}" dentro nel report cosi puoi fare la formattazione in "maniera visuale" con il tasto dx sopra al campo se percaso la devi cambiare in futuro...:-)

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

sirena Profilo | Newbie

Premetto che con il Crystal sono autodidatta...quindi... ^_^
Facciamo l'esempio con una sola data che forse è meglio...
Dunque io ho creato il parametro nel report '?databon'....
l'unico problema è che molto probabilmente non individuo bene il punto dove inserire quel codice suggeritomi...
io ho la mia maschera dove ho il campo text data che si chiamerà 'x_DataBon'....

<%
reportname = "Bonifici.rpt"
Session("ReportName") = reportname
%>
**** poi richiama un file per controllare l'esistenza del rpt e in seguito passa il filtro della data
<%
Dim filter
Dim strDataBon
strDataBon=request.form("x_DataBon")
%>
**** poi richiama un file dove ci sono le autorizzazioni per accedere al db
<%
Set filter = clientDoc.DataDefController.DataDefinition.RecordFilter
filter.FreeEditingText = "{VistaBonifici.DataBonifico} = DateTime(" & year(strDataBon) & "," & month(strDataBon) & "," & day(strDataBon) &_
", 00, 00, 00)"
clientDoc.DataDefController.RecordFilterController.modify filter
Set Session("oClientDoc") = clientDoc
%>

dunque io ho provato ad inserirlo dopo questa parte
strDataScad=request.form("x_DataScad")
così
reportname.SetParameterValue("databon", x_DataBon )

e dopo aver inserito la data nella maschera iniziale, mi dà quest'errore
"Impossibile utilizzare parentesi per la chiamata di routine Sub"
stessa cosa se provo a metterlo
nell'ultimo blocco....
cosa mi suggerite?
grazie!!!




sirena Profilo | Newbie

ops ho sbagliato nel post prima volevo scrivere....

dunque io ho provato ad inserirlo dopo questa parte
strDataBon=request.form("x_DataBon")
così
reportname.SetParameterValue("databon", x_DataBon )


freeteo Profilo | Guru

ciao,
ti consiglio innanzitutto di cambiare metodo di programmazione nella pagina aspx, ed usaere il metodo di asp.net ovvero scrivere il code behind (altro file .cs della pagina) per fare piu pulizia.
Poi sull'eento load per esempio puoi scrivere il codice che che carica il report e gli passa il parametro, qualcosa del tipo:

//---- setto la sorgente del report
mioReport.Load("c:\\....report.rpt");


mioReport.SetParameterValue("mioparametro","pippo pippo");
mioReport.SetDAtaSource(miaTabella);


crystalReportViewer1.ReportSource = mioReport;

cosi lavori ad oggetti e non hai problemi di righe nella pagina etc...:-)

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5