QReport i zmiana PageHeader

0

Jest sobie juz wygenerowany qreport. I teraz. Gdy mam 1 strone to wszystko jest ok, ale gdy mam wiecej danych w tabeli bazodanowej to dostaje 2,3,4 strone raportu. Jak zrobić żeby na stronie >1 był zmieniony naglowek strony? (np. zapiast w naglowku strony 'Dane z tabeli TEST' na nastepnych stronach byl naglowek 'Dane z tabeli TEST-ciag dalszy'.
Dzieki [stuk]

0

Po pierwsze zobacz sobie w helpie do Delphi temat TQRCustomBand.BandType, wtedy poznasz zastosowanie wszystkich rodzajów wstęg.
Ale jeśli zamierzasz rzeczywiście używać np. PageHeader, to wstaiwasz tak jakieś TQRLabele lub TQRBDTexty. Każdy z nich ma metodę OnPrint, gdzie jednym z parametrów jest zmienna Value. Tę wartość możesz dowolnie modyfikować, a zmiany będą widoczne w czasie wyswietlania wartości.
Jeżeli chcesz robić to od strony 1 to:
a) możesz sobie samemu liczyć strony (np. zwiększać wartość jakieś zmiennej w metodzie OnBeforePrint pierwszej wstęgi na stronie (PageHeader)
lub
b) wstawić element QRSysData, który kolor tekstu będzie się zlewał z tłem, ale tak, żeby element ten był wywoływany:

  • pierwszy na nowej stronie
    lub
  • ostatni na poprzedniej stronie

UWAGA: prawdopodobnie gdy samodzielnie zwiększasz wartość strony to bedziesz musiał ustawić jej wartość na 0 w metodzie OnBeforePrint dla całego raportu (TQuickRep), dlatego, że wcześniejsze Preview (przygotowanie) raportu może te wartości zmienić.
Generalnie jeżeli zmieniasz jakieś elementy w raporcie podczas jego generowanie (np. rozmiary wstęg, elementów rysunkowych, widoczność elementów, wartości zmiennych), to przed drukowaniem należy je JAWNIE (np.x:=0) ustawić na wartości początkowe. W przeciwnym wypadku może być tak, że na podglądzie wszystko jesk OK, a wydruk jest nie taki jak trzeba.

1 użytkowników online, w tym zalogowanych: 0, gości: 1