| dalla versione 6.7.2900 - modificato il 01/03/2011 - link - english
|
Condizioni di notifica
Questo evento viene notificato dalla sezione quando questa sta per essere preparata per la stampa. Quando il motore di stampa decide che è giunto il momento di stampare la sezione ne crea una copia in memoria e notifica l'evento di
BeforeFormatting.
Utilizzo consigliato
L'evento di
BeforeFormatting può essere utilizzato per impostare le proprietà della sezione, delle box contenute nella sezione e degli span contenuti nelle box. E' possibile rendere invisibile la sezione e tutto ciò che contiene oppure nascondere singole box o span. E' anche possibile cambiare lo stile visuale della sezione o degli oggetti che questa contiene.
Tutte le modifiche alla sezione che ha notificato l'evento o agli oggetti che questa contiene vengono applicate solo ed esclusivamente alla copia che è stata creata durante la preparazione della stampa. Modifiche ad oggetti non contenuti nella sezione vengono, invece, applicate agli oggetti da cui verranno fatte le copie per il proseguimento della stampa.
Argomenti
L'evento non ha argomenti. E' possibile leggere il valore delle colonne della query del report che contiene la sezione.
Note
- In questo evento non è consigliabile utilizzare il risultato della funzione PageNumber del book poiché la sezione non è ancora stata posizionata all'interno di una pagina e la pagina corrente potrebbe non essere quella su cui viene stampata la sezione. Dopo la notifica dell'evento, infatti, il sistema effettua la formattazione vera e propria della sezione e potrebbe scoprire che non c'è spazio sufficiente sulla pagina corrente per inserire ciò che è stato formattato. In questo caso il sistema conserva in memoria la copia della sezione già formattata e la posizionerà sulla pagina successiva. L'evento giusto per leggere il numero di pagina è l'evento di AfterFormatting della sezione.
-
In questo evento non è consigliabile utilizzare il risultato della funzione YPos poiché la sezione non è stata ancora stampata e quindi la sua coordinata top risulta ancora non definita.
-
L'evento BeforeFormatting viene notificato immediatamente dopo aver creato una copia in memoria della sezione e delle box e span in essa contenuti. Per cui il sistema non ha ancora gestito il valore della proprietà VerticalResizeMode delle box e quindi l'altezza delle box con VerticalResizeMode uguale a Stretch non è ancora stata calcolata.
-
Se una sezione viene resa invisibile durante l'evento di BeforeFormatting non verrà notificato l'evento di AfterFormatting corrispondente.
event BookDD.BookDD.ReportDD.Detail.BeforeFormatting()
{
BookDD.ReportDD.Pezzo.Left := BookDD.LeftPezzo
BookDD.ReportDD.Pezzo.Top := BookDD.TopPezzo
BookDD.ReportDD.Pezzo.Width := BookDD.WidthPezzo
BookDD.ReportDD.Pezzo.Height := BookDD.HeightPezzo
if BookDD.TrasformabilePezzo = True
{
BookDD.ReportDD.Pezzo.CanTransform := True
}
if BookDD.DraggabilePezzo = True
{
BookDD.ReportDD.Pezzo.CanDrag := True
}
if BookDD.DroppabilePezzo = True
{
BookDD.ReportDD.Pezzo.CanDrop := True
}
if BookDD.ReportDD.Pezzo.CanTransform
{
BookDD.ReportDD.Pezzo.VisualStyle := SfondoVerde
}
if BookDD.ReportDD.Pezzo.CanDrag
{
BookDD.ReportDD.Pezzo.VisualStyle := SfondoGiallo
}
if BookDD.ReportDD.Pezzo.CanDrop
{
BookDD.ReportDD.Pezzo.VisualStyle := SfondoRosso
}
}
Cosa ne pensi?
Ti sono rimaste delle domande su punti che questo articolo non ha trattato? Pensi che sia utile aggiungere una nota all'articolo? Aiutaci a migliorare la documentazione di Instant Developer scrivendo il tuo commento nei campi qui sotto.