贾斯珀单页报道

时间:2014-12-09 11:07:25

标签: jasper-reports

在我的数据集中,我有多条记录,比如23.我想逐行打印,每一行有23行。目前,我的报告有23页,每页都包含一条记录,我不想要 - 我确实希望在一页中有23行。

4 个答案:

答案 0 :(得分:0)

如果您使用的是iReports,那么

在详细信息区域的末尾和pageBreak的属性中放置分页符,从属性窗格中编辑printWhen表达式

new java.lang.Boolean((int)($V{REPORT_COUNT}.intValue())%23==0)

否则,如果直接编辑jrxml文件,请将其放在<band>标记下的<details>标记之后 -

<break>
<reportElement x="0" y="23" width="100" height="1">
    <printWhenExpression><![CDATA[new java.lang.Boolean((int)($V{REPORT_COUNT}.intValue())%23==0)]]></printWhenExpression>
</reportElement>

希望这会给你预期的输出。

答案 1 :(得分:0)

您不应该做任何特别的事情来获得您想要的东西,Jasper Reports默认执行您所描述的内容。您的布局可能存在许多问题,例如细节带太高,某些分页符,或者在组或其他东西上保持一致。

我认为你最好花些时间使用这个教程(http://youtu.be/103MUpnyrvk)创建一个新的简单布局,希望你能看到修复/重新创建报告需要做些什么。 / p>

答案 2 :(得分:0)

您可以做的是设计细节带,使其以您希望的方式显示一行。

接下来确保细节带包裹这些字段。文本字段元素上方或下方没有空格。

接下来设置报告的查询,以便从您的数据库中提取所请求的数据。

将为数据集中的每个元素重复细节带,从而在没有空格的情况下显示彼此之下的所有记录。

答案 3 :(得分:0)

增加Detail乐队的高度,直到它是pageHeight其他部分和边距的大小的1/23倍。