fastreport的问题
表里的一条记录,四个字段:A,B,C,D
A打印在第一页(如果A为空时,第一页不打印)
B打印在第二页(如果B为空时,第二页不打印)
C打印在第三页(如果C为空时,第三页不打印)
D打印在第四页(如果D为空时,第四页不打印)
如何实现,如有其它报表工具(水晶报表也行)可以实现也行,
[解决办法]
群:32068527
[解决办法]
//试试...
var
Page: TfrxReportPage;
Memo: TfrxMemoView;
tl:tstringlist;
begin
tl := tstringlist.create;
//自行把数据记录中的字段插入tl
//......
frxReport1.Clear;
for i := 0 to tl.count-1 do
begin
if (tl.strings[i] <> ' ') then
begin
Page := TfrxReportPage.Create(frxReport1);
Page.CreateUniqueName;
Page.SetDefaults;
//自行设置纸张大小
//......
Memo := TfrxMemoView.Create(Page);
Memo.CreateUniqueName;
Memo.Text := s1;
Memo.left :=0;
Memo.Top :=0;
Memo.width := 100;
Memo.Height := 100;
//其它属性设置,如Memo.Font := ...;
end;
end;
tl.free;
end;
[解决办法]
while not eof do
begin
if ...then
begin
frReport1.PrepareReport;
frReport_all.EMFPages.AddFrom(frReport1);
end;
if ...then
begin
frReport.....PrepareReport;
frReport_all.EMFPages.AddFrom(frReport1.....);
end;
....
end;
frReport_all.ShowPreparedReport ;
自己组合页
[解决办法]
就是 做好主从
一页一页的组装