FR3中打印固定行数的代码(10分)

  • 主题发起人 主题发起人 ntjrr
  • 开始时间 开始时间
N

ntjrr

Unregistered / Unconfirmed
GUEST, unregistred user!
目前我是这样做的
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
if ((<line#> mod 3)=0)
engine.newpage;
end;
也说是固定每页打三条记录,超过后会自动换行,但如果一页正好三条记录,其实不必换页了,但上面的代码也会换页,如何再加个条件?
 
总页数大于3才新建页面。
 
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
if ((<line#> div 4)>0)
engine.newpage;
end;
 
用 <line#> -1 去 div 3 不就可以啦?
 
to bmsr
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
if ((<line#> div 4)>0)
engine.newpage;
end;
这个代码在刚好4条记录时,还是会产生新的空白的一页
 
这样写好象也不行,正好三条时还是要有一个空白页出来
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
if <Page#><><TotalPages> then
begin
if ((<line#> mod 3)=0) then
engine.newpage;
end;
if <Page#>=<TotalPages> then
begin
if ((<line#> mod 20)=0) then
engine.newpage;
end;
end;
 
我是这样做的:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
var pageline:integer;
var pagemaxrow:integer=3;
begin
PageLine := <line> mod PageMaxRow;
if (PageLine = 1) and (<line> > 1) then
Engine.newpage;
end;
 
to lucky_qiu 我试了一下,您的代码在正好四条记录时也会产生一个新的空白页?
 
多人接受答案了。
 

Similar threads

后退
顶部