Thank you for your answers. I wasn't able to find a solution, so I found a workaround. I've just simply fixed the row height to the heighest textfield in my report, so that all rows are the same height. In my specific situation i'm generating the jasperReport completly througn java code using Jasper API, so I was able to achieve that. I'm aware it is not very pretty, but it works in my situation: Firstly I generate report with isStretchWithOverflow set to "true" in my textFields. Then I fill it with JasperFillManager.fillReport(jasperReport, parameters, jrBeanCollectionDataSource); which gaves mi JasperPrint object, and trough analyzing it recursively I am able to find the highest textField. Then I generete once again whole JasperReport but I set height of every textField in my detail band to the heigh of the heighest textField. Thanks to that every row in my detail band have the same height, so jasper engine in advance know how many rows fill fit onto page and can properly calculate sum on page.