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
Loop tra i record del report
venerdì 16 settembre 2005 - 17.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
raffaeu
Profilo
| Newbie
21
messaggi | Data Invio:
ven 16 set 2005 - 17:36
Ho un report Crystal nellla mia applicazione NET, ho bisogno di looppare tra i record mentre vengono stampati e caricare un determinato valore in una field in base al valore che ricevo da quel record ...
Che evento evo usare?
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 16 set 2005 - 18:43
ciao,
eh eh looppare con crystal report è praticamente impossibile nel senso che non hai in memoria i dati come quando hai il risultato di 1a datatable...Ma ce' di meglio: i campi formula.
Puoi dire al report che faccia dei calcoli, delle operazioni con le stringhe e 1 sacco di altre operazioni usandoli e mettendoli nelle sezioni adatte alla tua esigenza, nel tuo caso la sezione dettagli.
Dentro ad essi scrivi 1 po di codice crystal per fare quello che ti serve, es:
campo1 = campo del database di 1 importo
campofourmula (creato da me) apro l'editor facendo "tastoDx->edit Formula Field" e scrivo dentro:
if importo >0 then
"ok"
else
"sei in rosso"
a questo punto lo piazzo nella sezione dettagli di fianco al campo importo e lui mi stampa riga x riga 1 piccolo case...
penso sia eusto che intedi o no?
ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
raffaeu
Profilo
| Newbie
21
messaggi | Data Invio:
lun 19 set 2005 - 08:32
Si è questo che intendo ma c'è un piccolo problema. Io ho un Array, ad ogni riga stampata devo looppare il mio array e se il campo del dettaglio ha un valore compreso nell' array, in un campo formula devo scrivere il valore dell' array (bidimensionale). Il mio problema è come portare l' array bidimesionale nel report ...
Hai qualche idea?
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 19 set 2005 - 09:09
mmm si effettivamente stampare 1 array non è il massimo della semplicita', hai provato a guardare 1po l'istruzione ToText che se non ricordo male è abbastanza flessibile, magari parcheggi il campo su 1a variabile Array e poi looppi sui valori.
Qualcosa del tipo:
NumberVar Array Input := {?Customer List};
ToText(Input [1],0,'') ....
anche se non ho 1 caso pratico che ho fatto,cmq io guarderei queste funzioni potrebbero tornare utili...
ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
raffaeu
Profilo
| Newbie
21
messaggi | Data Invio:
lun 19 set 2005 - 09:14
Cavolo il tutto non e' semplice devo fare delle prove, poi ti faccio sapere, comunque lo spunto è questo, perchè devo confrontare le statistiche di vendita di quest' anno con quelle dell' anno percedente, ma non posso linkare le tabelle altrimenti mi si sballano i valori di quest' anno ....
Un casino.
Grazie provo e posto.
raffaeu
Profilo
| Newbie
21
messaggi | Data Invio:
lun 19 set 2005 - 11:56
Ho fatto cisi':
1-Creato Campo Parametro con 'Valori Multipli' si chiama ARRPAX
2-Passo i valori dal NET
3-Campo formula che preleva da array, ma non so come ottenere
Il Count dei valori del campo di parametro
Looppare dentro il campo parametro ..
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 19 set 2005 - 12:41
ciao,
hai provato con "numbervar zConto := Count(Input )" ?
e poi fa 1 loop tipo for e printi " Input [i] " dove i è la varibile del for...
se fai cosi funzia? Altrimenti se ci metti 1 carattere che sai tu, e poi fai lo Split per quel carattere...
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
raffaeu
Profilo
| Newbie
21
messaggi | Data Invio:
lun 19 set 2005 - 13:32
Ho provato ma nada, posto tutto il codice:
Popolo Parameter FIeld
rpt.SetParameterValue("ARRPAX", MyArray)
Campo formula in CR
NumberVar Input := Count({?ARRPAX});
Ma non esce nel report ... Magari sbaglio con SetParameterValue ...
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 19 set 2005 - 14:43
ciao
io ho provato con questo codice funziona
--------------------
mioReport.SetParameterValue("mioparametro",new string[]{"ciao","pippo"});
--------------------
e il campo parametro è:
--------------------
numbervar i;
stringvar zStr := "";
stringvar array zArr := {?mioparametro};
for i := 1 to Count(zArr) step 1 do
zStr := zStr + zArr[i] + chr(13);
zStr
--------------------
e ritorna i valori giusti e va a capo,basta mettere il campo formula che possa aumentare...
da te come si comporta?
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
raffaeu
Profilo
| Newbie
21
messaggi | Data Invio:
lun 19 set 2005 - 14:44
TROVATO!!
EUREKA!!
Bisogna passare un array di paramDiscreteValue cosi':
DR = CMD.ExecuteReader(CommandBehavior.CloseConnection)
Dim x As Int32 = 0
While DR.Read
MyVal = New ParameterDiscreteValue
MyVal.Value = DR("CODE")
MyParam.Add(MyVal)
x += 1
End While
Catch ex As Exception
WR(ex.Message)
End Try
'Popolo Array
Return MyParam
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 19 set 2005 - 15:08
si infatti ma anche con 1 array di oggetti del framework di dotnet si puo' fare, ma l atua collezione è piu tipizata quindi va sicuramente meglio ;-)
ottimo cmq alla fine funziona, obiettivo raggiunto.
ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
raffaeu
Profilo
| Newbie
21
messaggi | Data Invio:
lun 19 set 2005 - 15:26
Bene un' ultima cosa, ho sempre postato su un 'altro ' forum e devo dire che per la tecnologia NET questo è proprio spettaculare veramente ...
Complimenti a tutti.
PS: Inoltre è l' unico forum di CR for NET in italiano.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 19 set 2005 - 15:29
>Bene un' ultima cosa, ho sempre postato su un 'altro ' forum
>e devo dire che per la tecnologia NET questo è proprio spettaculare
> veramente ...
>
>Complimenti a tutti.
Grazie, facciamo del nostro meglio... ;-)
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 !