Da ne pišem dvije poruke, imam dva problema sa FastReport-om..
1. Stranica podijeljena okomito
Report ima 1 Page i ta stranica je okomito podijeljena.
- Na desnoj strani je klasični report: Header, Footer, Master, Detail
- Na lijevoj strani je tekst i QR kod koji se ponavljaju na svakoj stranici, fiksno, nema veze sa podacima, na fiksnom mjestu na stranici - okomito: sredina.
Pokušao sam u DetaliBand.Colums staviti 2, pa podatke u desnu kolonu Detail banda, a fiksni tekst u lijevu, ali mi se tada fiksni teks ponavlja za svaku redak u Detail-u, a mora biti samo jednom na svakoj stranici
Riješio sam tako da sam na lijevoj strani postavio PictureView i to tako da vrh bude na Headeru (nekoliko mm), a visina mu je tako da je do dna reporta. U Picture (Canvas) crtam QR kod i upisujem fiskni tekst. Dobio sam tekst i QR kod onako kako žele, ali... tekst upisan u sliku je mutan, naročito nakon exporta u PDF.
Na net-u nisam našao ništa što bi mi pomoglo.
2. Ukupan broj stranica reporta
Na stranici (desni dio stranice) su podaci jednog klijenta. Za svakog klijenta mora biti samo jedna stranica, ne smiju se podaci razvuči na dvije ili više stranica.
Pokušao sam riješiti tako da u MyReport.BeforePrint smanjujem font detail band-a. Postavio sam Stretched := true na band-u i na MemoView.
Code:
procedure TForm2.MyReportBeforePrint(Sender: TfrxReportComponent);
...
// Početno Font.Size := 14;
MyReport.PrepareReport;
while (MyReport.PagesCount > 1) and (TfrxMemoView(Sender).Font.Size > 8) do begin
TfrxMemoView(Sender).Font.Size := TfrxMemoView(Sender).Font.Size-1;
MyReport.PrepareReport;
end;
procedure TForm2.MyReportBeforePrint(Sender: TfrxReportComponent);
...
// Početno Font.Size := 14;
MyReport.PrepareReport;
while (MyReport.PagesCount > 1) and (TfrxMemoView(Sender).Font.Size > 8) do begin
TfrxMemoView(Sender).Font.Size := TfrxMemoView(Sender).Font.Size-1;
MyReport.PrepareReport;
end;
Negdje je greška. Ako mi nakon prvog Prepare report ima 2 stranice, bez obzira koliko smnjim font, PagesCount mi stalno vraća 2, a stvarno je 1, report će nakon smanjivanja biti na jednoj stranici jedino što PagesCount vraća pogrešnu vrijednost 2.