isPrintWhenDetailOverflows=true can cause report to render indefinitely

Table of Contents 

Issue Description:

When attempting to preview a report in iReport Designer whose controls' total height ends up exceeding that of the report itself, the preview enters into an infinite loop and nothing gets rendered in the preview.

The "Print When Detail Overflows" property was set to true / checked for the controls in the report design. This setting will instruct the report engine to print the control if the detail band spills over onto the next page (for instance, because the height of the detail band exceeds the remaining height left over on the page and therefore must print the remaining content onto the next page).

If all of the controls are to be printed when this occurs, then the engine will enter an infinite loop and nothing gets rendered. Each new page will contain the same contents because every control is to be printed when the detail band spills over onto the next page, and so each new detail band will spill over to the next page and attempt to print all of the controls.


Resolution:

Setting the "Print When Detail Overflows" property to false / unchecked should direct the report engine to only print the controls not yet printed when the detail band spills over to the next page. 


Ref. Case #00041615

Feedback
randomness