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
[CRYSTAL REPORT] Stampare diversi dettagli per record
giovedì 07 ottobre 2010 - 00.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gigi90
Profilo
| Senior Member
285
messaggi | Data Invio:
gio 7 ott 2010 - 00:00
Salva a tutti,
sto preparando un report urgente e sono in difficoltà in pratica ho la seguente necessità: devo stampare un elenco di clienti e per ogni cliente devono essere stampati 2 dettagli Ordini e Fatture che hanno campi differenti, in pratica il report deve avere il seguente aspetto:
-------------Cliente 1
***Elenco ordini
--Ordine 1
--Ordine 2
--Ordine 3
***Elenco fatture
--Fattura 1
--Fattura 2
--------------Cliente 2
***Elenco ordini
--Ordine 1
--Ordine 2
***Elenco fatture
--Fattura 1
--Fattura 2
--------------Cliente N
Non so come stampare piu dettagli per ogni cliente.
Spero che possiate risolvere il mio problema.
saluti a tutti
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 8 ott 2010 - 00:12
Ciao,
il tuo caso è proprio quello tipico in cui usare un raggruppamento
Ti basta creare la sezione dettagli con gli ordini e poi raggruppare per Cliente (id o nome vedi tu il campo "cliente" insomma).
Chirametne in gruppi possono essere anche innestati se hai un'ulteriore raggruppamento, con la gerarchia che vuoi...
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
gigi90
Profilo
| Senior Member
285
messaggi | Data Invio:
ven 8 ott 2010 - 09:21
Si ma il raggruppamento va bene per un solo dettaglio, per l'altro come faccio?
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 8 ott 2010 - 20:03
>Si ma il raggruppamento va bene per un solo dettaglio, per l'altro
>come faccio?
appunto se hai tutto piatto in un resultSet dalla query usi un raggruppamento.
Se invece i dati provengono da tabelle diverse legate magari tramite un campo in comune, puoi mettere un (o più di uno, quanti vuoi) sottoreport nella sezione dettagli del raggruppamento.
Poi fai tastoDX->Subreport Links e specifichi il campo da usare come "join", nel tuo caso se raggruppi per cliente sarà il campo cliente...
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
gigi90
Profilo
| Senior Member
285
messaggi | Data Invio:
ven 8 ott 2010 - 20:48
Va benissimo questa soluzione per un numero limitato di record, il fatto è che quando stampo esempio 15000 clienti il report ha un elaborazione lunghissima che non termina mai: ho controllato il task manager e vedo la RAM aumentare di KB in KB ed arriva a superare dopo 30 min i 150MB per la mia applicazione senza mai visualizzare il report(poichè non l'ha terminato ancora).
Ho un dataset con i 3 datatable clienti ordini e fatture e collego i 2 sottoreport(uno per fatture ed uno per gli ordini) tramite IDCliente.
Per caso esiste qualche metodo per ottimizzare l'elaborazione o magari sbaglio io qualcosa facendo fare a Crystal Report operazioni lunghe.
Grazie per la risposta.
Attendo tue info.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 11 ott 2010 - 10:28
Ciao,
i sottoreport sono sempre stati un motivo di appesantimento forte dei report, sia in termini di velocità che di memoria, chiaramente non puoi farne a meno nel tuo caso, a meno che tu non faccia tornare alla query tutto piatto (left join tra le tabelle) e poi nel report lavori con i raggruppamenti.
Io infatti tendo a fare questa cosa, magari nel tuo caso di 2 join diventa un po' più difficile, magari potresti intanto provare a togliere uno dei 2 sottoreport e fare la join su quella tabella a livello sql per avere un risultato piatto (e poi raggruppare nel report) almeno per quella prima gerarchia.
Un'ultima cosa, io ti consiglio se possibile di non lavorare con dataset tipizzati di visual studio, se puoi fatti una classe tua, oppure fai direttamente le query in una DataTable e passi quella al report che sicuramente fa meno codice dietro...
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
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 !