在JasperReports中无法正确呈现PAGE_COUNT ...?

时间:2009-01-08 14:41:36

标签: jasper-reports

我已将页脚 第x页 添加到我的报告中,但PAGE_COUNT似乎无效。

可能是因为我有很多子报告而出现问题?

我明白了:

Page 1 of 1

Page 2 of 0

Page 3 of 0

Page 4 of 0

有什么想法吗?

8 个答案:

答案 0 :(得分:9)

嗯,不知道老版本,但是在JasperReports 4.5.1中;您可以定义两个文本字段,包括$V{PAGE_NUMBER}个变量。具有EvaluationTime: now的那个显示当前页码; EvaluationTime: report的另一个显示总页数。一个简单的技巧,但有效:)

答案 1 :(得分:6)

更改evaluationTime="Report"解决了问题。

答案 2 :(得分:2)

我找到了解决方案。

http://jasperforge.org/tracker/index.php?func=detail&aid=2873&group_id=102&atid=612

但是,Java开发人员JasperReports一书(第146页)说,PAGE_COUNT是报告中的总页数。我猜这个错误出现在书中。

答案 3 :(得分:2)

我们的报告如下:

http://pastebin.com/m401fa41

第1部分,在页面生成期间解释,给出当前页面的#(evaluationTime="Now"

第二部分,在报告末尾解释,给出了总页数(evaluationTime="Report"

HTH

答案 4 :(得分:2)

其实这是一个BUG!并得到开发人员的确认。

参见链接: jasper community bug tracker link

在BAND上使用属性时,未正确计算PAGE_COUNT:“拆分防止”

答案 5 :(得分:1)

我无法访问jaspercommunity(检查链接共享),但我做了一个很好的解决方法:D

使用4个文本,如下:

txtStatic1(Page) txtField1($V{PAGE_NUMBER})  txtStatic2(of) txtField2($V{PAGE_NUMBER})

其中:

txtField1($V{PAGE_NUMBER}) -> AVAILABLE TIME = PAGE
txtField2($V{PAGE_NUMBER}) -> AVAILABLE TIME = REPORT

这对我有用。

答案 6 :(得分:1)

解决方案如下: 我们不得在同一字段中添加$ {V PAGE_NUMBER} +“/”+ $ {V} PAGE_NUMBER。

正确的方法是将$ {V PAGE_NUMBER}放在分隔的字段中,将“/”+ $ {V} PAGE_NUMBER放在其他字段中

它对我有用

抱歉我的英文

答案 7 :(得分:1)

摘要:要在TextField中包含页码和页码。

步骤1:创建一个指示当前页面编号的变量。 设置: *姓名:CURRENT_PAGE_NUMBER

  • 变量类:Java.lang.Integer

  • 计算:没有

  • 重置类型:无

  • 增量类型:页面

  • 变量表达式:$ V {CURRENT_PAGE_NUMBER} == null? $ V {PAGE_NUMBER}:$ V {PAGE_NUMBER} +1

第2步:TextField设置

  • 文字字段表达式:“PAGE:”+ $ V {CURRENT_PAGE_NUMBER} +“/”+ $ V {PAGE_NUMBER}

  • 表达式类:Java.lang.String

  • 评估时间:自动

就是这样。无需添加任何内容即可获得如下结果:Page 1/3 |第2/3页|第3/3页。