PDA

Visualizza la versione completa : [delphi]: stampa di un report per ogni record


elevation
30-09-2002, 22:43
ciao a tutti,
ho creato un report con QReport che preleva i campi "nome" e "cognome" da
una adotable. Attualmente so stampare solo un report con "cognome" e "nome"
del record corrente. Come faccio a stampare invece un report per ogni
record??? Ad esempio: ho 3 record in una DBgrid...vorrei stampare
automaticamente cliccando su uno speedbutton 3 report uguali in cui cambiano solo "cognome" e "nome". E' ovvio che è necessario un ciclo...probabilmente un while not eof...ma dopo??? :master:

ciao!

alka
01-10-2002, 09:51
Devi introdurre delle Band (che non sono gruppi musicali).
:quote:

Scherzi a parte, nella pagina QReport della Palette dei Componenti esistono dei controlli Band (e altri discendenti) che ti permettono di creare delle "bande" all'interno del tuo report.

La funzione delle bande è quella di ripetersi automaticamente tante volte quanti sono i record all'interno del DataSet collegato al report (in questo caso, la tua ADOTable).

Esistono diversi tipi di banda, per differenziare la tipologia di dati da stampare e i legami tra di loro (ad esempio, MasterDetail). Ogni banda ha una proprietà BandType che consente di definirne il tipo, il quale influenza direttamente il loro comportamento.
Ad esempio, la banda che funge da titolo viene ripetuta solo una volta all'interno del report, la banda "dettaglio" viene ripetuta una volta per ciascun record, le bande "header" (intestazione) e "footer" (piè di pagina), analogamente a quanto succede in Word, vengono ripetute una volta per ogni pagina.

All'interno di ciascuna banda puoi inserire i controlli che utilizzi solitamente nei report.

Ciao! :ciauz:

P.S.: generalmente, quando si progetta visualmente qualcosa in Delphi, non ci sarà mai da effettuare cicli While o simili...fondamentalmente, è questo ciò che rende potente l'ambiente Delphi.

elevation
01-10-2002, 16:18
si ma il mio problema non è stampare tutti i record sullo stesso foglio ma bensì stampare lo stesso report, modificato solo nei campi nome e cognome, su fogli diversi...:dhò:

:ciauz:

alka
01-10-2002, 16:40
E la mia soluzione non va bene??

Se tu inserisci una banda (QRBand) che faccia da intestazione di pagina (BandType impostata a <rbPageHeader>) e inserisci controlli di QuickReport per i campi Nome e Cognome, ti vengono stampate tante pagine quanti sono i record, ciascuna con intestazione di pagina contenente Nome e Cognome del record corrente.

elevation
01-10-2002, 16:43
:D ok + tardi provo e ti faccio sapere...:ciauz:

Loading