问题已经解决,在FastReport 中写代码搞定。代码如下: var aa:Integer; maxRow:Integer;procedure Page1OnManualBuild(Sender: TfrxComponent); var DataSet: TfrxDataSet; DataSet1: TfrxDataSet; begin aa:=1; Engine.ShowBand(MasterData1); DataSet := DetailData1.DataSet; DataSet.First; while (not DataSet.Eof) or ((aa-1) mod MaxRow<>0) do begin if DataSet.Eof then Engine.ShowBand(Child1) else Engine.ShowBand(DetailData1); DataSet.Next; aa:=aa+1; if (((aa-1) mod (MaxRow)=0) and (not DataSet.Eof)) then begin EngIne.Newpage; EngIne.showband(MasterData1); end; end; DataSet1 := MasterData1.DataSet; DataSet1.next; while (not DataSet1.Eof) do begin EngIne.Newpage; EngIne.showband(MasterData1); DataSet := DetailData1.DataSet; DataSet.First; aa:=1; while (not DataSet.Eof) or ((aa-1) mod MaxRow<>0) do begin if DataSet.Eof then Engine.ShowBand(Child1) else Engine.ShowBand(DetailData1); DataSet.Next; aa:=aa+1; if (((aa-1) mod (MaxRow)=0) and (not DataSet.Eof)) then begin EngIne.Newpage; EngIne.showband(MasterData1); end; end; DataSet1.next; end; end;begin maxRow:=5; //每页最大行数 end.
var
aa:Integer;
maxRow:Integer;procedure Page1OnManualBuild(Sender: TfrxComponent);
var
DataSet: TfrxDataSet;
DataSet1: TfrxDataSet;
begin
aa:=1;
Engine.ShowBand(MasterData1);
DataSet := DetailData1.DataSet;
DataSet.First;
while (not DataSet.Eof) or ((aa-1) mod MaxRow<>0) do
begin
if DataSet.Eof then Engine.ShowBand(Child1)
else Engine.ShowBand(DetailData1);
DataSet.Next;
aa:=aa+1;
if (((aa-1) mod (MaxRow)=0) and (not DataSet.Eof)) then
begin
EngIne.Newpage;
EngIne.showband(MasterData1);
end;
end;
DataSet1 := MasterData1.DataSet;
DataSet1.next;
while (not DataSet1.Eof) do
begin
EngIne.Newpage;
EngIne.showband(MasterData1);
DataSet := DetailData1.DataSet;
DataSet.First;
aa:=1;
while (not DataSet.Eof) or ((aa-1) mod MaxRow<>0) do
begin
if DataSet.Eof then Engine.ShowBand(Child1)
else Engine.ShowBand(DetailData1);
DataSet.Next;
aa:=aa+1;
if (((aa-1) mod (MaxRow)=0) and (not DataSet.Eof)) then
begin
EngIne.Newpage;
EngIne.showband(MasterData1);
end;
end;
DataSet1.next;
end;
end;begin
maxRow:=5; //每页最大行数
end.