Community
Participate
Working Groups
Build Identifier: 20110916-0149 For a report to support any paging the layoutEngine.layout method must be called with the final parameter set to true. The RunAndRenderTask has a completely different way to calculate this final parameter from RenderTask. In RunAndRenderTask the default is for the parameter to be true, it has to explicitly turned off by options to go away. In RenderTask the parameter is more complex and effectively cannot be set to true for a page-break-pagination emitter unless either the report only has one page (?) or htmlRenderOption.getHtmlPagination( ) is true - but if HtmlPagination is true the layout engine does paper-size-pagination (or at least, it splits large tables into multiple pages). I think the correct fix is in RenderTask.render(), where PAGE_BREAK_PAGINATION.equals( pagination ) and !paged, the call to layout should permit paging (because the emitter wants to do it): layoutEngine.layout( executor, report, emitter, true ); This fix would tally with the PAPER_SIZE_PAGINATION.equals( pagination ) case. Reproducible: Always Steps to Reproduce: 1. Take an emitter that is set for page-break-pagination. 2. Output a report with page breaks using the report designer - the report will page correctly. 3. Output the same report using separate Run and Render tasks - the report will not page correctly.
*** Bug 382871 has been marked as a duplicate of this bug. ***
Since the SpudSoft Excel emitter is part of BIRT distribution as of BIRT 4.3.0 (according to https://bugs.eclipse.org/bugs/show_bug.cgi?id=402962), are there any plans to fix this issue either in the RenderTask or in the Excel emitter.
I wonder as well. Every time we are updating BIRT we have to patch RenderTask.java! Since BIRT 3.7!