QuickReport根据每行的内容长度动态调整DetailBand1的行高
procedure TPosPubFactureRep.DetailBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); var n, total : integer; str : String; begin total := 1; str := ADOArticle.FieldByName('my_data').AsString; Repeat n := Pos(#13, str); if n>0 then begin Inc(total); Str:=RightStr(str, Length(str)-n-1); end; until n=0; DetailBand1.Height:=total*18; end;
还有SubDetail的行高:
procedure TFEDAV.QRSubDetail1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin if ( QRSubDetail1.Expanded > 0) then begin QrShape18.Size.Height := QRSubDetail1.size.Height + QRSubDetail1.Expanded; QrShape19.Size.Height := QRSubDetail1.size.Height + QRSubDetail1.Expanded; QrShape20.Size.Height := QRSubDetail1.size.Height + QRSubDetail1.Expanded; QrShape21.Size.Height := QRSubDetail1.size.Height + QRSubDetail1.Expanded; QrShape22.Size.Height := QRSubDetail1.size.Height + QRSubDetail1.Expanded; QrShape23.Size.Height := QRSubDetail1.size.Height + QRSubDetail1.Expanded; end; end;