procedure ColumnFooter1OnAfterPrint(Sender: TfrxComponent);
begin
// 填写的代码 开始
_count := _count - 1; //每打印一页,计数器减一
if _count >= 0 then //如果计数器值大于1,则表示还需要打印当前产品的记录
begin
if MasterData1.DataSet.Eof then //如果主表已经到记录尾,则表示主表已打印完,报表引擎不会再打印内容,则需要手工设置显示
begin
Engine.NewPage();
Engine.Showband(MasterData1);
end
else
begin
//DetailData1.DataSet.Prior(); //如果不是记录尾,则只需把从表记录指针前移一下即可实现重复打印
end;
end;
// 填写的代码 结束
end;
三、在主数据栏(MasterData1)的“OnBeforePrint”事件函数中填写如下代码:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
// 填写的代码 开始
if _count = -1 then _count := <物流单标签."quantity"> - 1; //把打印份数字段中的值赋给计数器
// 填写的代码 结束
end;
var
_count : Integer = -1; //用以记录剩余应打份数的计数器
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
if _count = -1 then _count := <物流单标签."quantity"> - 1; //把打印份数字段中的值赋给计数器
end;
procedure ColumnFooter1OnAfterPrint(Sender: TfrxComponent);
begin
_count := _count - 1; //每打印一页,计数器减一
if _count >= 0 then //如果计数器值大于1,则表示还需要打印当前产品的记录
begin
if MasterData1.DataSet.Eof then //如果主表已经到记录尾,则表示主表已打印完,报表引擎不会再打印内容,则需要手工设置显示
begin
Engine.NewPage();
Engine.Showband(MasterData1);
end
else
begin
//DetailData1.DataSet.Prior(); //如果不是记录尾,则只需把从表记录指针前移一下即可实现重复打印
end;
end;
end;
//以下两行代码一定要保留
begin
end.