即固定显示4行(或任意行的空格),而不是根据数据的多少而显示多少行,我知道有一种叫显示子报表的可以把行数填满,可是我这个软件不需要填满空白的纸,只需要打四行就够了,而且数据也不会超出四行的,最多就是四行,超出就要另开一张收据了。
请知道的朋友指点一下,谢谢。
请知道的朋友指点一下,谢谢。
解决方案 »
- 用PageControl控件显示MDI窗口
- sqlserver 数据库:怎么用程序判断sql server 服务管理器已经启动
- 操作文档的问题
- delphi 7 中如何调用.chm帮助文档,急!
- 一个查询语句的问题
- 请问 TSdfDataSet 这个控件哪儿可以下载的到
- 没分了,请求帮忙!!
- DELPHI小问题
- 为什么在网页用<object>可以指定的属性,在IDE里生成的接口文件中找不到?
- 能否定义这样一个procedure dd(sender:Tobject;i:integer),如果能该如何调用?
- 请问delphi中,如果将idpop3获得的gb18030乱码转成可读文本
- 【求助】关于IE用的ACTIVEX
var
i: Integer;
begin
if (<Line>=MasterData1.DataSet.RecordCount) then
begin
if ((<Line> Mod 4)<>0) then
begin
for i:=1 to 4-(<Line> Mod 4) do
Engine.ShowBand(Child1);
end;
end;
end;procedure ColumnFooter1OnBeforePrint(Sender: TfrxComponent);
var
i: Integer;
begin
if MasterData1.DataSet.RecordCount=0 then
for i:=1 to 4 do
Engine.ShowBand(Child1);
end;
1\把报表设计好,不要放任何band,设置好左右纸张大小、边界等就可以了。
2\在打印时,把整理好的数据,用循环写入报表,再打印就可以了。
self.frxReport1.LoadFromFile('reports\收款收据.fr3');
self.adoquery1.first;
while not self.adoquery1.eof do begin
if self.adoquery1.recno()=1 then begin
TfrxMemoView(frxReport1.FindObject('Memo11')).Memo.Text:=self.adoquery1.fieldbyname('名称').asstring;
TfrxMemoView(frxReport1.FindObject('Memo12')).Memo.Text:=self.adoquery1.fieldbyname('单位').asstring;
......
end;
if self.adoquery1.recno()=2 then begin
TfrxMemoView(frxReport1.FindObject('Memo21')).Memo.Text:=self.adoquery1.fieldbyname('名称').asstring;
TfrxMemoView(frxReport1.FindObject('Memo22')).Memo.Text:=self.adoquery1.fieldbyname('单位').asstring;
......end;
........self.adoquery1.next;
end;
self.frxReport1.ShowReport;手写的,没有测试,有错误请谅解。我打印一些不规则的表,或一张单据需要从多个表中提取数据的,而且位置都是交差的就用这招,挺好用的。