Fastreport 页脚打印的是下一页的值(100)

W

wcq1002

Unregistered / Unconfirmed
GUEST, unregistred user!
我设计的一个报表,有页头,主项数据,页脚三个区,三个区中都有数据。 其中页脚区有一个Memo,里面是数据库中的一项,按理说这个页面中三个区显示的是数据库中同一条记录的数据。 但页脚区的这个MEMO,显示的是下一条记录(下一页的第一条记录)的相应字段值. 我检查了一下,所有这个页脚区的,显示的都是下一条记录(下一页的第一条记录)的值。 这是怎么回事,如何把它改回来?
 
三个区的数据集都是一样的吗?datafield也是一样的吗?
 
是同一数据集,三个区显示同一条记录,(可以是不同的字段)随便举个例子:假如数据集有5条记录,三个区都放一个memo, memo的值都指向同一字段值。分五页显示,每页显示一条记录,前两个区没问题,就是页脚区的MEMO值,显示的是下一页的同一字段的值.第一页的页脚的MEMO值,显示的是第二页的那个值(也就是第二条记录的)第二页的页脚的MEMO值,显示的是第三页的那个值(也就是第三条记录的)第三页的页脚的MEMO值,显示的是第四页的那个值(也就是第四条记录的)。。。只有最后一页是正确的。
 
因为主项数据的内容一打印完,会立即将记录下移一条,而不是等这一页打印完了之后才下移一条,所以除非你自行更改源码,否则是没办法解决你这问题的。当然你可以用挂"子"的方式解决你这个问题。用子代替页脚。
 
用挂“子”的方法,比较麻烦,因为,每页页脚都有要固定打印的东西,还有随单据编号变化的东西(就是这个东西解决不了),用Child的话,有可能某些页没有页脚(也就没有要固定打印的东西),除非计算好每页只能打多少空间?打完之后,显示Child,然后开始新的一页(计算主数据项的能打多少空间是不是用FreeSpace?)
 
设计不合理...
 
请问楼上,要怎么设计才合理?现在是每页有固定要打印的要约(也就是买卖双方的约定)(显示在页脚)。要约之后是打印这张单的所有审批人的签章(这个是变化的,签章保存在单里面,每张单的签章可能不一样,即不同的人审批的),如果是打印一张单,那没有问题。如果连续打印多张单,那么签章就会出现本帖所提出的问题!就我的说明,楼上能否提供一个合理的设计? 谢谢!
 
个人不理解,你为什么将数据放在页脚呢?
 
顶部