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