读书人

fastreport的有关问题

发布时间: 2012-02-08 19:52:21 作者: rapoo

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 ;


自己组合页

[解决办法]
就是 做好主从
一页一页的组装

读书人网 >.NET

热点推荐