BIRT drop group header property and table border lines
December 13, 2011
Only one week ago I learned about the group header’s drop property to drop header columns to the detail line. Several questions about it came across on the BIRT forums and I decided to take a closer look at it.
Find the drop property
The drop property is not in any right-click menu nor does it have it’s own section in the properties tab. To find it, you have to select the header cell – not the header row as you might expect – of which you want the value to drop to the detail row and go to the “Advanced” properties:

Yes, it works!
From the drop down you can choose “All” or “Detail”. I selected “Detail” and the results look like this:

As you can see, the Country, a header field, is shown on the same line as the first detail line. Exactly what we were looking for.
Now I create a second grouping, on manager. I drag the managers’s lastname and firstname to the new header row and for both cells I set the drop property to “Detail”. Now the results look like this:

Again: exactly what we were looking for!
No it doesn’t…
What? Why is that? Well, take a look at what the report looks like when I add table border lines to the table:

The linesizes got all messed up. Apparently the borders of the header cells show up on the detail level cells, but not on the header level cells.
…Or does it?
To solve this “problem”, I started playing with border width properties of individual cells, and after trying lots of possible combinations I could get a satisfying result. This is what I did:
- detail border top width = 0 (red cells)
- manager header border top width = 0 (green cells + yellow cells)
- manager header border bottom width = 0 (yellow cells)
- country header border bottom width = 0 (all cells except for the one in the Country column)
The colors point out the cells that need above property changes:

The resulting report now looks like this:

So it did work out eventually, but it sure took a lot of time, not to mention the blood, sweat and tears…
If anybody knows a more clever workaround for this, please leave a comment.