[reportlab-users] Is there a way to prevent table split between particular rows?

Axel P. Kielhorn python-rl at axelkielhorn.de
Sat Feb 20 04:14:51 EST 2016


> Am 20.02.2016 um 00:19 schrieb Lele Gaifax <lele at metapensiero.it>:
> 
> Robin Becker <robin at reportlab.com> writes:
> 
>> The docs need to be extended mea cupla :(
> 
> Don't worry, I know what it means to keep that in sync!
> 
>> The rowSplitRange is intended to prevent splitting near the top of the
>> table or to near to the end. There is only one allowed range = lo,hi
>> and splitting is only allowed if the lo<=splitpoint <=hi. I suppose
>> this could be extended to a more general list of allowed split ranges,
>> but that's not available right now.
>> 
>> If that's required I would have to do some extra thinking.
> 
> Well, the project I'm developing is not that important: should the customer
> raise her eyebrows, I will try to rearrange the printout using multiple
> tables, one for each group, wrapping each table within a KeepTogether element.
> 
> Anyway, for my need, it would maybe be more natural to express the constraint
> within the TableStyle, something like
> 
>  ...
>  ('KEEPTOGETHER', (0, 2), (-1, 3)),
>  ...
> 
> to mean that preferably a split should not happen between row 2 and 3. That
> could cover even the split-by-column case.
> 
> What do you think?

This sounds like a good idea.
I create a table where two rows are grouped together.
(First row describes start condition, second row end condition.)
They alternate background color (2 rows white, 2 rows gray)
Sometimes the table is split inside a pair of rows which looks unprofessional:-)

In my case it would be
 ('KEEPTOGETHER', (0, 1), (2, 3), ...)

Geetings
Axel


More information about the reportlab-users mailing list