表里的一条记录,四个字段:A,B,C,D
A打印在第一页(如果A为空时,第一页不打印)
B打印在第二页(如果B为空时,第二页不打印)
C打印在第三页(如果C为空时,第三页不打印)
D打印在第四页(如果D为空时,第四页不打印)如何实现,如有其它报表工具(水晶报表也行)可以实现也行,
A打印在第一页(如果A为空时,第一页不打印)
B打印在第二页(如果B为空时,第二页不打印)
C打印在第三页(如果C为空时,第三页不打印)
D打印在第四页(如果D为空时,第四页不打印)如何实现,如有其它报表工具(水晶报表也行)可以实现也行,
解决方案 »
- 大家用什么函数提取机器硬件参数用于注册的?
- 函数名,result都不会返回吗?
- 关于调用过程的问题
- 求Delphi 5 所有补丁 加急! 加急! 加急! 加急!
- 得到了一个Tdatetime类型的数据,如何将其转换为距离1900年1月1日0时0分0秒有多少毫秒呢?
- 我下面的代码怎么执行不了?memo1里没有结果显示啊
- 东方美女 VS 西方美女
- 什么控制程序只运行一个?
- 我又来送分了,想要的进,关于字符串的问题
- listview的viewstyle属性为vsIcon,删除中间某一个item,界面不刷新
- 如何取得某一个网站 (IP)上的系统时间?给点代码,用socket也可以
- 在sql数据表中怎么根据第几列找到其字段名
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;
我已经做好了四页报表,能不能自己按照上面说的要求根据字段是否为空来进行选择呢?
因为如果每页报表还有其它的一些信息各不相同如果只是单一A,B,C,D字段的话,dragonki(dragonki) 的答案应该可以解决!谢谢!
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 ;自己组合页