FastReport–01:使用PageFooter读取的数据内容不对的解决方案
描述:如下图所示,是我的FastReport打印的设置。原以为这样子PageFooter的打印会跟着[RMData.“Matioid”]去变,但是现实出来的效果却是取的下一条[RMData.“Matioid”]中的数据。
比如:
数据集中的数据是:
Matioid | TabNM |
---|---|
0001 | 李1 |
0002 | 李2 |
结果显示的数据是:
Matioid | TabNM |
---|---|
0001 | 李2 |
0002 | 李2 |
解决方案:在GroupHeader2中添加OnBeforePrint事件,打印GroupHeader2之前就先将Matioid对应的值存在变量里。具体步骤如下(以TabNM为例子):
- 定义变量。点击顶栏的“报表”–>“变量”(不同版本可能不一样),添加变量。
- 编写代码,给GroupHeader2绑定OnBeforePrint事件,赋值给刚才自定义的变量CurrentTabNM。
procedure GroupHeader2OnBeforePrint(Sender: TfrxComponent);
begin
Report.Variables['CurrentTabNM'] := '''' + <RMData."TabNM"> + '''' ;
end;
-
将CurrentTabNM变量返回到Page中。
以上就是本人在这次打印中所遇到问题的解决方案分享,如果有其它更好解决方案,欢迎大家评论区留言。在此祝大家工作愉快!!!