I am migrating an application from APEX 3 to APEX 4.2 on one thing I notice with the classic reports when I bring them into Template 23 is that the first break section has the break row display below the column headers for that section while the remaining rows correctly have it display above the headers on subsequent group sections.
1. Is this really intentional because it doesn't seem terribly elegant and my users zeroed in on it right away as a perceived bug.
The Standard report template definition in theme 23 contains
Before Column Heading
Column Heading Template
<th #ALIGNMENT# id="#COLUMN_HEADER_NAME#">#COLUMN_HEADER#</th>
After Column Heading
</tbody> </table> </td> </tr> </tbody> <tbody class="uReportPagination"> #PAGINATION# </tbody> </table> <div class="uReportDownloadLinks">#EXTERNAL_LINK##CSV_LINK#</div>
This is intentional, following best practice for marking up HTML tables. What is not intended is the problem that arises when this template is used with the Repeat Headings on Break break formatting option. The repeated headings result in the table consisting of tag soup containing multiple incorrectly constructed tbody and thead elements, which is invalid.
2. Is there a reasonable work around that still uses Repeat Headings on Break? I have multiple reports on the same page in places so changing over to interactive reports is not a silver bullet for me in this case.
Create a copy of the Standard report template as Standard (break formatting) for use with break reports, remove the
tbodytags from the template definitions, and change the break reports to use the new template. (Or, if you primarily have break reports using the Standard template, keep the tags in the copy and remove them from the original to minimize the number of reports you have to edit.)
Personally I'd create a custom row report template for complex break reports in order to be able to have complete control over the structure and presentation.
Thanks for the feedback and suggestions. We are working an updated global custom theme for all our applications and will deal with it until then.
We are considering this a bug in APEX. Since the template is a production template and the break formatting is a standard feature of classic reports it should work consistently from version to version and not produce "tag soup"