iText - Problème de glutage de la première ligne d'un tableau à la seconde
Bonjour,
Mon souci est le suivant :
* soit plusieurs tableaux les uns au dessous des autres ;
* pour chaque tableau, 1 cellule 'titre' et 1 cellule 'data' ;
* la cellule data peut être relativement longue et séparée sur plusieurs pages
* la cellule titre DOIT (et le problème est là) être "greffée / collée" à la cellule de data ET ne pas se répéter quand la cellule data est sur 2+ pages.
Avec la propriété rowSplit à true et sans utiliser d'entête de table, j'ai, quand j'arrive en bas de page, le titre alors que la data est en page suivante :
|Titre1|
|Bla bla bla
bla bla bla|
|Titre2|
-- page break --
|Bla bla bla
bla bla bla|
Avec la propriété setHeader(..) à 1, j'ai, quand j'arrive en bas de page la répétition du titre sur la seconde page (ce que je ne veux pas, évidemment) :
Exemple :
|Titre1|
|Bla bla bla
-- page break --
|Titre1|
bla bla bla|
|Titre2|
|Bla bla bla
bla bla bla|
Et quand je coupe le row-split j'ai parfois de grand espace blanc en fin de page, ce qui est, cela va s'en dire, également non souhaité !
Auriez-vous des idées (et surtout des exemples) pour que :
- lorsqu'il s'agit de la cellule data qui arrive en bas de page, elle soit bien scindée en multi-pages
ET
- la cellule de titre (qualifiée en header ou pas) soit toujours "collée" à la cellule de data
ET
- la cellule de titre ne se répète pas sur chaque page.
Merci d'avance,
Nono 8-).
5 pièce(s) jointe(s)
Avec des exemples, c'est tout de suite plus parlant ... ou pas
Bonjour,
Histoire de préciser un peu, je joins plusieurs exemples ainsi que la classe Java ayant permis de les générer.
Cas 1.
Cas de base. Je m'aperçois que la cellule de titre se trouve seule en bas de page.
Cas 2.
Qu'à cela ne tienne, je me dis que je mets le tableau contenant en splitrow à false. Mais dans ce cas, je peux arriver à ce cas qui n'est pas beau (sujet à l'espace restant vacant sur la 1ère page).
Cas 3.
Et si je mettais des entêtes de tableaux ? Mon souci est alors la répétition de l'entête sur la seconde page. Sinon, c'est du tout bon.
A noter que l'option skipFirstHeader ne sert à rien plus que dalle dans mon cas (comprendre : je ne sais pas comment l'utiliser ni même à quoi elle sert).
Cas 4.
Et si j'utilisais l'option keepTogether ? On retombe alors dans le travers du cas 1 ! Je n'ai pas du piger non plus comment l'utiliser !
Est-ce que cela vous parle ? Avez-vous ainsi plus d'idée ? Une petite piste de réflexion peut-être ?
Merci d'avance,
Possibilité de chemin détourné
A noter que si quelqu'un à la solution (et tant qu'à faire 1 exemple) pour faire en sorte que les "entêtes de tables" puissent être différents sur la 1ère et la 2nde page lorsque la table est coupée en 2, je suis preneur, puisque cela résoudra de manière indirecte mon souci.
Merci d'avance,