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
Dividere la sezione dettaglio in + colonne
giovedì 12 marzo 2009 - 17.27
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 12 mar 2009 - 17:27
Salve ragazzi,
in pratica ho un file report in crystal report.net dove al suo interno ho inserito un campo di un db nella sezione dettaglio.
Io vorrei che alla fine della pagina, prima di crearne un'altra il report portasse i dati del campo su un'altra colonna accanto alla prima.
Di seguito cerco di fare un esempio visivo:
Nominativo
----------------------------------------------
1 Rossi Mario 6 Rossi Mario
2 Rossi Mario 7 Rossi Mario
3 Rossi Mario 8 Rossi Mario
4 Rossi Mario 9 Rossi Mario
5 Rossi Mario 10 Rossi Mario
calcolate che il campo è uno solo....ciaoooooo
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
lun 16 mar 2009 - 15:31
sinceramente non ho capito bene...
se ti interessa elencare un dettaglio su più colonne devi fare così:
clicca col destro sulla sezione "Dettagli" e scegli "Formato sezione..."
metti il segno di spunta su "Formato colonne multiple"
vedrai (in alto) che crea un'altra scheda "Layout".. vai li e setta la larghezza delle colonne, la distanza tra loro e la direzione di stampa
"per colonne" stampa in verticale i dettagli nella prima colonna as es:
1 AAA 4 DDD
2 BBB 5 EEEE
3 CCC
"per riga" stampa i dettagli sulle colonne procedendo in senso orizzontale ad es:
1 AAA 2 BBB
3 CCC 4 DDD
5 EEE
Selezionando anche "Formato gruppi con più colonne" anche i gruppi funzioneranno come nel dettaglio e verranno incolonnati.
Vincenzo
Programmatore sbilenco
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 19 mar 2009 - 14:47
Grazie mi serviva proprio questo consiglio...
ciao a buon rendere
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
sab 21 mar 2009 - 13:16
>Grazie mi serviva proprio questo consiglio...
>ciao a buon rendere
Ciao Trinity, accetta la risposta di ysdemarc così chiudiamo il thread.Grazie.
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Duka
Profilo
| Newbie
7
messaggi | Data Invio:
lun 15 feb 2010 - 10:20
Ciao,
ho provato anche io la tua soluzione su Crystal 11, ma ho un problema con l'ampiezza verticale del dettaglio se utilizzo l'opzione layout "Per colonne".
es. per colonne
colonna1 colonna2
aaaaaaa
bbbbbbb
ccccccc
n........
es. per righe
colonna1 colonna2
aaaaaaa bbbbbbb
ccccccc n........
In pratica non riesco a tenere ferma la dimesione in altezza del dettaglio, che con l'opzione per colonne si prende tutta la pagina, invece di ripartirsi tra le due colonne (cosa che fa con l'opzione per righe).
Avete qualche indicazione su come si definisce l'ampiezza verticale del dettaglio ?
Tenete presente che i dati sono reperiti da un file xml, e che nella label Layout il parametro Altezza compare in grigio chiaro, non impostabile.
grazie
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mar 16 feb 2010 - 09:08
Ciao.. non credo che si possa fare in modo così semplice quello che vuoi tu.
Il comportamento della ripartizione su colonne mi sembra più che giusto che non li riparta uniformemente, ma prima facci ala prima colonna, poi la seconda è così via.. è così che funzionano le paginazioni.
se le vuoi ripartire uniformemente potresti rielaborarti i dati che passi, non facendo ordinare a crystal report, m passandoli già tu come li vuoi i dati, sapendo a priori quante righe hai, quante c'è ne vanno ogni colonna, e aggiungere dei record vuoti fino a fine colonna...
o provi a giocare coi sotto report
oppure ti fai delle sezioni Dettagli invisibili vuote che renderai visibili a seconda ti quante righe stamperai nel tuo report.. ..
comunque sono soluzioni un pò strambe.. io opterei o per la prima o per l'ultima
ciao
Vincenzo
Programmatore sbilenco
Duka
Profilo
| Newbie
7
messaggi | Data Invio:
mar 16 feb 2010 - 22:33
Ciao Ysdemarc,
".. è così che funzionano le paginazioni."
mi hai fatto balenare un'idea... che domani provo.
Inizialmente pensavo che si potesse fissare col parametro "altezza" del layout l'ampiezza verticale delle colonne... (ma poi allora che serve ???)
l'uso che cercavo era un po' come la formattazione per colonne in word.
l'idea, non so quanto sbilenca, è invece quella di impostare i limiti della pagina...
cioè deduco che se i dettagli, per colonne, devono mangiarsi tutta la pagina prima di passare alla colonna successiva...
allora io gli accorcio la pagina e sposto il resto del report sui piè di pagina.
che dici ? può essere un'alternativa valida ?
domani test !!! ciao e grazie
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 16 feb 2010 - 23:58
>cioè deduco che se i dettagli, per colonne, devono mangiarsi
>tutta la pagina prima di passare alla colonna successiva...
>allora io gli accorcio la pagina e sposto il resto del report
>sui piè di pagina.
intendi che il render dei dettagli è verticale e poi passa sulla seconda colonna? E' possibile impostare che prima vada in orizzontale e poi scenda di riga impostare "across then down" invece di "down then across" nella tab layout di colonna dei dettagli.
Non so se questo può aiutarti.
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mer 17 feb 2010 - 09:41
>Inizialmente pensavo che si potesse fissare col parametro "altezza" del layout l'ampiezza verticale delle colonne... (ma poi allora che serve ???)
infatti del layout sia che metti per riga che per colonna puoi modificare la larghezza e non l'altezza..alla fine l'altezza di una colonna non è altro che la somma delle altezze del tuo dettaglio e/o gruppo
>l'idea, non so quanto sbilenca, è invece quella di impostare i limiti della pagina...
>cioè deduco che se i dettagli, per colonne, devono mangiarsi tutta la pagina prima di passare alla colonna successiva...
>allora io gli accorcio la pagina e sposto il resto del report sui piè di pagina.
non capisco cosa intendi per "sposto il resto su piè di pagina"..
io non so che tipo di licenze hai di crystal..comunque con le cose scarse che ho io e le mie conoscenze farei così..
ad esempio so che la pagina può contenere un massimo di 3 colonne ed un massimo di 20 righe ed ogni riga di altezza 150 quindi un totale di altezza colonna di (150 * 20) 3000.
ora se non uso gruppi a colonna (la cosa si complicherebbe) farei un footer group invisibile , che mi servirà in modo molto brutto per impostare la Width
quindi supponendo che io abbia 50 righe da stampare in 3 colonne mi basterebbe fare 50/3 cioè 16,6.. prendendo l'intero successivo 17
quindi la Width del mio group footer da impostare sarà ((20 - 17) * 150) e quindi 450.. e lo rendo visibile
nel risultato finale dovresti trovarti quindi 17 colonne nella prima, 17 nella seconda e 16 righe nella terza.. quindi come aver impostato la stampa per righe ma in colonna come stampa per colonne...
oppure una variante (ma solo cose da pazzi) al posto di impostare la Width di un footer group dovresti crearti tanti dettagli vuoti invisibili quante le righe che può contenere.. e in fase di stampa rendere visibili il numero di dettagli desiderate per completare la colonna..
quindi giunto a 17 record, rendi visibili 3 dettagli, a 34 altri 3
tutto comunque da provare..
Mi viene in mente un'altra idea se può esserti utile.
Potresti impostare la stampa per righe ma lavorare sull'ordinamento delle righe che mandi.
Quindi supponendo che tu mandi in pasto a Crystal un DataTable di nome dt potresti creartene un'altro di nome dtXPrint dove andrai a mettere situati i record.
Vincenzo
Programmatore sbilenco
Duka
Profilo
| Newbie
7
messaggi | Data Invio:
mer 17 feb 2010 - 15:39
Ciao, per cominciare preciso che uso la versione XI o 11, di Crystal.
Io ho risolto il problema dell'ampiezza verticale della sezione Dettagli (con flag su "Formato colonne multiple" e in label "Layout" flag "Per colonne") aumentando il valore verticale del Piè di pagina.
Ho praticamente lavorato proprio sulla PAGINAZIONE per vincolare l'ampiezza verticale dei dettagli.
Avevo strutturato report_1 (formato A4 h=29cm righello verticale) con:
- Sezione Intestazione pagina h=10cm
- Sezione dettagli h=1cm
- Sezione "Piè di pagina report" h=8cm contenente un ulteriore sottoreport con un'altra sezione Dettagli
- Sezione Piè di pagina report h=2cm.
Impostando la sezione Dettagli di report_1(con flag su "Formato colonne multiple" e in label "Layout" flag "Per colonne"), succedeva che prima di passare ad utilizzare la seconda colonna i dettagli di report_1 dovevano arrivare a un'altezza pari a 29-10-2 = 18cm, spostando sulla pagina succesiva la sezione Piè di pagina report con i dati del sottoreport.
Praticamente il foglio 1 era bianco per metà, sul lato destro.
Per utilizzare tutto il foglio, con i dettagli che riempissero la seconda colonna, ho trasferito il sottoreport sulla sezione Piè di pagina, aumentandola da h=2 a h=10cm. Soppresso la sezione Piè di pagina report h=8.
Così facendo ai dettagli è rimasta un'ampiezza verticale pari a 29-10-10=9cm, che ha costretto le righe dettaglio di report_1 a utilizzare ambo le colonne del foglio.
Non potevo utilizzare l'opzione "Per righe" del Layout, perchè la lettura dei dati forzatamente doveva essere incollonata, per risultare comprensibile.
Ciao e grazie a tutti degli spunti
, sperando di essere stato abbastanza chiaro....
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 !