Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to control the number of rows in a JasperReports

How do I set the number of rows to be displayed per page in a report using iReports. Ex: if i have 100 records, I wasnt to display 10 per page and then break. The default behavior is to cram all the records possible in the page.

like image 986
Vaishak Suresh Avatar asked Jun 17 '10 07:06

Vaishak Suresh


2 Answers

Ok! Found a way to accomplish this!

  1. The rows are usually printed in the Details band.
  2. At the end of the details band, where you need a page break, add a pagebreak.
  3. In the pageBreak's properties, edit the printWhen Expression from the properties pane.
  4. The expression will be

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

where 10 is the number of records per page.

This is how it is done in iReports. The jrxml equivalent for people directly editing the file is as below.

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

Put this just after the <band> tag under <details> tag.

like image 156
Vaishak Suresh Avatar answered Sep 23 '22 21:09

Vaishak Suresh


It depends on the page height you set.

like image 31
Puru Avatar answered Sep 19 '22 21:09

Puru