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
Visualizzazione dell'intestazione condizionata
mercoledì 04 gennaio 2006 - 17.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
mer 4 gen 2006 - 17:40
Ciao
avrei bisogno di un consiglio per crystal report...dovrei fare un report in cui ho una parte di dettaglio, e due sottoreport in due report footer. Voglio visualizzare una certa intestazione(che è nell'header della pagina) solo quando i dati visualizzati nel report sono ancora quelli della parte di dettaglio. In poche parole quando vengono visualizzati i sottoreport l'intestazione deve scomparire.
Come posso ottenere questo risultato?
STRUTTURA DEL REPORT
Report header
Page header
Detail
Report footer1 (qui c'è il primo sottoreport)
Report footer2 (qui c'è il secondo sottoreport)
Grazie mille!!
ciaoo
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 4 gen 2006 - 18:25
ciao,
per fare questo puoi lavorare in 2 modi :
- controllare che tu non sia arrivato all'ultimo record
- lavorare con le variabili "shared" negli oggetti formula, dove setti a true 1flag che fa da condizione
in entrambi i casi devi controllare la proprieta' "ometti" (Suppress se hai la vers inglese) della sezione che vuoi visualizzare...
Ad ogni modo, la 1a strada è la piu agile in questo caso (ma la 2a ti puo' tornare utile anche per altri casi piu particolari) e quindi dettagliatamente puoi mettere nella sezione che devi visualizzare, la proprieta' "Ometti" e dargli questa condizione (clicchi sul pulsante "X+2" vicino al flag) :
OnLastRecord
la quale ti è 1a costante che ovviamente è a true se sei sull'ultimo record (di dettagli).
Nel tuo caso puo andare bene perche il "reportfooter" appare quando sei alla fine del report (a differenza del pagefooter che campare alla fine di ogni pagina)
Ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
mer 4 gen 2006 - 18:44
Ciao!
Grazie per avermi risposto, la cosa che non capisco è che la condizione per nascondere il blocco devo metterla nella sezione page header come faccoi a controllare l'ultimo record di dettagli che è un'altra sezione?
grazie ancora..
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 4 gen 2006 - 19:40
ciao,
fai cosi':
- scegli l'elemento da visualizzare solo sull'ultima pag e fai tasto dx->formattazione->Ometti
- Non fleggare ometti ma premi il pulsante "X+2" (tasto "formula") difianco al check.
- Si apre 1a finestra che si chiama "editor di formule" e li dentro scrivi : "not OnLastRecord"
A questo punto salva tutto e controlla che sia visibile solo nell'ultima pagina, se devi nascondere ed abilitare piu di 1oggetto, ti consiglio di aggiungere 1a sezione al "pageheader" e mettere tutto li dentro cosi' setti la stessa proprieta' "ometti" che ti ho appena spiegato, non piu al singolo oggetto, ma all'insieme (ovvero la sezione che hai appena aggiunto)
capito cosa intendo? spero di essere stato chiaro...:-)
ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
gio 5 gen 2006 - 12:25
ciao!
si sei stato chjiarissimo ho provato e funziona grazie!!
ti posso chiedere altre due cose?
- si possono fare più query in un report o bisogna sempre ricorrere allo stratagemma dei sottoreport? per query separate intendo query che vanno su tabelle diverse scollegate tra loro...
- dal menu database è possibile vedere la query sql, la si puo modificare in qualche modo? come?
in generale secondo te è preferibile partire da un universo BO per fare i report o partire dalle tabelle di databases?
grazie ancora!!!!!
ciao
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
gio 5 gen 2006 - 16:22
Scusa Matteo devo chiederti un'altra cosa rispetto al problema di prima, utilizzando la funzione OnLastReport ho un piccolo baco nel senso che se proprio l'ultimo record di dettaglio mi va su una nuova pagina l'intestazione che voglio io non è piu visualizzata ...
come posso fare?? grazie!!!!
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
sab 7 gen 2006 - 21:20
ciao,
per il problema del "OnLastReport" sull'ultima pagina puoi abbinare il controllo anche al fatto che tu sia o meno sull'ultima con "PageNumber = TotalPageCount".
Per la domanda se conviene partire dall'universo BO io ti ocnfesso che l'universo BO non lo conosco bene,ma che se lavori con 1oggetto standard come le tabella di ado.net è sicuramente piu conveniente soprattutto per le tipologie di campo che sicuramente sono compatibili anche se arrivano da fonti diverse, qindi diciamo sei piu "scalabile".
Per quanto riguarda le tabelle scollegate,purtroppo non sono supportate ufficilamente (e se non erro dovrebbe segnalartelo quando le aggiungi senza fare nessun link) ma cmq lo puoi fare, e i nrealta' funziona solo che potrebbero capitarti dei comportamenti anomali (valori duplicati errati e cose di questo genere...).Ad ogni modo io cmq ti consiglio di usare sempre sottoreport ma ancora meglio se puoi lavorare con Join fra tabelle direttamente da query e poi raggruppare, che è piu veloce ;-)
Spero di averti aiutato, ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
mer 11 gen 2006 - 15:41
Ciao!
Grazie mille per l'aiuto, avrei ancora qualche problemino da chiederti...
per la questione del controllo OnLastRecord purtroppo non posso utilizzare anche la condizione sul controllo dell'ultima pagina del report, perche a me servirebbe l'ultima pagina in cui viene "stampata" la sezione dettagli...non l'ultima pagina in generale del report...si può fare? Il risultato che voglio ottenere è che finchè viene "stampata" la sezione dettagli devo visualizzare una sezione page header e dalla pagina dopo in poi un'altra sezione page header.
Inoltre, io dovrei visualizzare una sezione che contiene un sottoreport a seconda che la query che genera il sottoreport restituisca delle righe o meno. Nel caso non restituisse righe non dovrei proprio vedere la sezione che contiene tale sottoreport. come posso fare? Perchè nella formula per nascondere la sezione mi fa inserire solo condizioni contenenti campi del report principale...
Infine.. è possibile creare delle variabili globali che possono essere utilizzate sia nel report principale che nei sottoreport, e che magari queste variabili possano contenere query verso il db?
Grazie mille ancora per l'aiuto!!!
Ciao
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 13 gen 2006 - 20:45
>per la questione del controllo OnLastRecord purtroppo non posso
>utilizzare anche la condizione sul controllo dell'ultima pagina
>del report, perche a me servirebbe l'ultima pagina in cui viene
>"stampata" la sezione dettagli...
OnLastRecord è proprio l'ultima pag in cui ci sono i record quindi i "dettagli"
>che finchè viene "stampata" la sezione dettagli devo visualizzare
>una sezione page header e dalla pagina dopo in poi un'altra
devi lavorare con qualche variabile condivisa del report ma non ho capito bene come vorresti fare se puoi allegare 1report d'esempio vedo se riesco a correggertelo e ridartelo... (se puoi metti anche 1db temporaneo nello zip)
>Inoltre, io dovrei visualizzare una sezione che contiene un sottoreport
>a seconda che la query che genera il sottoreport restituisca
>delle righe o meno....
Il flag si chiama "ometti sezioni vuote" (da mettere nel report e anche nel sottoreport) solo che proprio vuota non è perche c'e' dentro il sottoreport allora a design time fallo piccolo in altezza in modo che non si veda anche se c'e' senza dati ;-)
>Infine.. è possibile creare delle variabili globali che possono
>essere utilizzate sia nel report principale che nei sottoreport,
Si si chiamano "shared" e le utilizzi nei campi formula con:
"shared numbervar miavar := ..." e poi la recuperi con " shared numbervar miavar; "
>e che magari queste variabili possano contenere query verso
eh no non si puo' cambiare la struttura del report che hai costruito a design time, devi lavorare con filtri sui dati al massimo (recordselectionformula) ma i campi visualizzati restano quelli con cui l'hai costruito...
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 !