Delphi FASTreport 4 自动补空行的方法
写了一个比较简单易懂易调试的补空行的方法
1.当只有一页时
在masterdata增加一个child,设置visible=false
在masterdata的OnAfterPrint加入事件
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
var
i,j,k,hh:integer;   
hs:string;   //当前行数
begin
  i:=1;
  hh:=18;    //数据页每页行数
  j:=MasterData1.dataset.recordcount;
  k:=hh-j mod hh; 
  hs:=<line>; 
  if strtoint(hs)=j then
  begin
    child1.visible:=true; 
    while i<=k do
    begin
      engine.showband(child1); 
      i:=i+1; 
    end;
  end;
end;
测试很成功,大家可以试试
2.当分栏时,一页内可能打印多个页面,我们需要用完child就改为不可见
procedure DetailData1OnAfterPrint(Sender: TfrxComponent);
var
i,j,k,hh:integer;
hs:string; //当前行数
begin
  i:=1;
  hh:=3; //数据页每页行数
  j:= DetailData1.dataset.recordcount;
  if hh<>j then
  begin              
   k:=hh-j mod hh;
   hs:=<line>;
   if strtoint(hs)=j then   
   begin                  
     while i<=k do
     begin          
       child1.visible:=true;  
       engine.showband(child1);
       i:=i+1;
       child1.visible:=false;          
     end;
   end;
  end;            
end;
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号