The reason why we didn’t have this feature for 21 versions is just as logical – in order to know if a group will fit on a page, we’d need to do some kind of lookahead to check and see if it will work out and – if not – rollback and do the wrapping. And it is exactly this lookahead that needs a direct access to the data source. However – at least for .NET and C++, this direct access is available in the form of our Data Provider interface. And so we were finally able to fulfill this request. Using the feature is dead simple, the group header has a new property “Keep Group Together” which you can set to “Yes”.
That’s it. Internally, this spawns a two-pass loop where the first pass measures the group lengths and the second then “knows” how much space needs to be reserved for the desired output. So instead of this result, where the sub group “EXC” gets wrapped after the first record although the group only contains two items:
You get this, which is much better readable, processable and end user friendly:
And while we were at it, we’ve also made sure to extend this feature to sub tables in the report container. This allows you to keep a “master” line together with the full sub table tree on a single page (if it fits, of course). And the same works for table-in-table as well.