其实我想我可以拿分的, 这个我正好做了一个,你最好用Clientdataset控件就很好实现,
你的源数据源最好也是Clientdataset,如cds1,
另外动态创建
cds2:=Tclientdataset.create(nil)
try
cds2.data=cds1.data;
with cds2do
begin
for i := 1 to recordcount mod 30 {一页打印30个}do
begin
appendrecord('','',''....'');
end;
end;
quickreport1.dataset := cds2;
...
quickreport.preview;
finally
cds2.free;
end;
上面提供了思路,具体代码自己去检查一下。