fastreport打印问题-动态设计报表时怎样才能打印多页

bear_tj 2005-01-25 09:44:07
我在程序中只是加入了报表控件,其他都是通过代码写的报表数据,里面用到了FOR循环,但是打印却不能打印多页,怎么回是?还需要在哪里设置吗?部分代码如下:
frReport1.Pages.Clear;
frReport1.Pages.Add; // create page
Page := frReport1.Pages[0];

b := TfrBandView.Create; // create Title band
b.SetBounds(0, 20, 0, 20); // position and size in pixels
b.BandType := btReportTitle;
Page.Objects.Add(b);

iCount := lv_count.Items.Count ;
for i := 0 to iCount - 1 do
begin
list := lv_count.Items[i] ;
v := TfrMemoView.Create; // create data field
v.SetBounds(20, 80+(i*30), 500, 16);
v.Memo.Add(list.Caption);
Page.Objects.Add(v);

v := TfrMemoView.Create; // create data field
v.SetBounds(170, 80+(i*30), 200, 16);
v.Memo.Add(list.SubItems.Strings[0]);
Page.Objects.Add(v);

v := TfrMemoView.Create; // create data field
v.SetBounds(290, 80+(i*30), 200, 16);
v.Memo.Add(list.SubItems.Strings[1]);
Page.Objects.Add(v);
end
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqhhh 2005-07-23
  • 打赏
  • 举报
回复
用你的这种方式,可能只能在一页打印,余下打印不到!
你用循环只会在一页内一直向下加TfrMemoView,超过一页,它自然打印不出来。

其实你可以转换一下思想, 把 lv_count 中的值放到一个临时数据表中,
然后在报表中增加一个MasterData1:TfrBandView;设置其DataSource与临时表的数据集关联,
不需要用循环即可以实现!

请楼主按这种方法试试!
I1314520 2005-07-23
  • 打赏
  • 举报
回复
你为什么要做成态的呢,做成一个文件形式或做成静态的,什么都不用设就搞定,何乐而不为呢?
bear_tj 2005-03-04
  • 打赏
  • 举报
回复
无法结帖!!!

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧