请教FastReport3的几个小问题:1、如果超过8行就打印到一下页;2、如果不满8行,填补空白行补(30分)

  • 主题发起人 主题发起人 net_morning
  • 开始时间 开始时间
N

net_morning

Unregistered / Unconfirmed
GUEST, unregistred user!
3、发布时,需要DLL吗
4、显示报表时,用load(.fr3)还是不用好一些?也就是动态装载和不装载,有何区别?
5、运行时,页面设置的话,系统是否能记忆?
 
俺也想学习下
 
那你用child啊,设置child的height,让它刚好八行
那少于8行肯定是有空格的
 
谢谢踏歌行,请教一下:
如果超过8行就打印到一下页,请问哪儿设置代码呢?
child这个东东,主要作用是什么?
 
你自己可以算出来啦,放个MasterData3,选择数据集single row,里面放个memo,行高跟其它的一样,然后在有数据的数据集(如SubdetailData1)的OnBeforePrint 事件中写上.
if SubdetailData1.DataSet.RecordCount>8 then
MasterData3.RowCount := 0
else
MasterData3.RowCount := 8 - SubdetailData1.DataSet.RecordCount;这样就可以了,
当前要 strat new page属性在上级数据集上打勾
 
还有个问题请教一下:
可以定义纸张长度为无限长吗?类似于有些快餐店打印的小票那样,可长可短
 
选择纸张: 好象有个 US Std 这个就是。
注意,只有打印机支持的纸才有这个选项,设计的时候,先选择虚拟打印机/
 
强制换页,我在DetailBand的beforePrint写如下代码:
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
begin
IF ([line#]-1>0) and ([line#]-1) mod 4=0 then
newpage;
end;
提示:"]"expected
直接写:
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
begin
newpage;
end;
提示:Undeclared identifier:'newpage'
我用的fr 是3.0版
 
var
PageLine: integer;
//¦b²{¦b­¶¦C¦L¨ì²Ä´X¦æ
PageMaxRow: integer=11;
//³]©w¨C­¶¦C¼Æ
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
PageLine := <line> mod PageMaxRow;
if (PageLine = 1) and (<line> > 1) then
begin
Engine.showBand(Footer2);
Engine.newpage;
end;
end;

//Footer1°&ordf;&laquo;×&sup3;]&not;°0
procedure Footer1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
i := iif(PageLine=0, PageMaxRow, PageLine);
while i < PageMaxRowdo
begin
i := i + 1;
Engine.ShowBand(Child1);
//&brvbar;L&ordf;&Aring;&yen;&Otilde;&ordf;í&reg;&aelig;
end;
end;
 
后退
顶部