var
_count : Integer = -1; //用以记录剩余应打份数的计数器
procedure DetailData1OnAfterPrint(Sender: TfrxComponent);
begin
if _count = -1 then _count := <stock_move_line."printcopies"> - 1; //把打印份数字段中的值赋给计数器
end;
procedure ColumnFooter1OnAfterPrint(Sender: TfrxComponent);
begin
_count := _count - 1; //每打印一页,计数器减一
if _count >= 0 then //如果计数器值大于1,则表示还需要打印当前产品的记录
begin
if MasterData1.DataSet.Eof then //如果主表已经到记录尾,则表示主表已打印完,报表引擎不会再打印内容,则需要手工设置显示
begin
Engine.NewPage();
DetailData1.StartNewPage := False; //设置从表不开始新页,否则从表记录会与表头分在两页
Engine.Showband(GroupHeader1); //以下是手工显示报表各部分
Engine.Showband(MasterData1);
Engine.Showband(Header1);
Engine.Showband(DetailData1);
end
else
begin
DetailData1.DataSet.Prior(); //如果不是记录尾,则只需把从表记录指针前移一下即可实现重复打印
end;
end;
end;
//以下三行不可少!!!
begin
end.