我已将页脚的页面x添加到我的报告中,但PAGE_COUNT似乎不起作用.
也许问题出现是因为我有很多子报告?
我明白了:
Page 1 of 1
Page 2 of 0
Page 3 of 0
Page 4 of 0
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我想将 Jasper Reports 报告页脚中的当前页码和总页码打印为“第 2 页,共 10 页”之类的短语。该短语必须位于页边距中间。文本模式取决于区域设置。
自然的方法是使用消息模式来进行格式化和翻译,例如 msg($R{msg_page_number}, $V{PAGE_NUMBER}, $V{TOTAL_PAGE_NUMBERS})。这是不可能的,因为没有像 TOTAL_PAGE_NUMBERS 这样的变量。人们必须在报告布局的不同时间评估 PAGE_NUMBER 变量。因此,必须使用多个文本元素来打印该行。这使得居中变得非常困难,因为没有任何文本元素实际上位于页面的中心。
有没有办法在页面上水平居中打印诸如“$R{page} X $R{of} Y”之类的短语中的当前页码和总页码?
我有一种情况,我需要这种格式的页脚页码:
--------------------------------------------------------------------------------
page 1 of 4212 printed date:
Run Code Online (Sandbox Code Playgroud)
页面号应该左对齐左边距.我用这个表达
"Page "+$V{PAGE_NUMBER}+ " of "+ $V{PAGE_NUMBER}
Run Code Online (Sandbox Code Playgroud)
但它总是给出输出
"Page 1 of 1"
Run Code Online (Sandbox Code Playgroud)
如何在左对齐的单个文本字段中实现它??? 请帮我解决这个问题.
在 JasperReports 中,我喜欢以current-page /total-pages样式呈现页码。研究官方演示,您可以找到以下使用三个的解决方案TextFields(因为没有内置的页数变量)
<!-- Right aligned current page -->
<textField>
<reportElement x="100" width="40" .../>
<textElement textAlignment="Right" ... />
<textFieldExpression class="java.lang.String">
<![CDATA[String.valueOf($V{PAGE_NUMBER})]]>
</textFieldExpression>
</textField>
<!-- Centered aligned slash -->
<staticText>
<reportElement x="140" width="5" .../>
<textElement textAlignment="Center" ... />
<text>
<![CDATA[/]]>
</text>
</staticText>
<!-- Left aligned total number pages (evaluationTime="Reports") -->
<textField evaluationTime="Report">
<reportElement x="145" width="40"/>
<textElement textAlignment="Left" ... />
<textFieldExpression class="java.lang.String">
<![CDATA[String.valueOf($V{PAGE_NUMBER})]]>
</textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
但是,只有当完整的分页信息相对于页面居中(中间有斜线)时,这才可以正常工作。我想要实现的是以总页数到右边框具有恒定距离的方式右对齐整个组。
如何实现这一目标?
我正在使用jasperreport-4.5.0生成报告.它正在生成报告.但是如果我的数据库中有大量数据,则报告vl显示在不同的页面中.所以我的要求是我的报告有12页然后我想要显示第1页,共12页,第2页,共12页,第3页,共12页......在我的页面标题区中显示这样的内容.我可以如何做到这一点,任何人都可以对此有所了解.