1. 程式人生 > >QuickReport根據每行的內容長度動態調整DetailBand1的行高

QuickReport根據每行的內容長度動態調整DetailBand1的行高

custom ado ger repeat oar right bsp end tom

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;

QuickReport根據每行的內容長度動態調整DetailBand1的行高