Je tableau simple produit avec PrawnPDF qui ressemble à celui ci-dessousComment créer une table avec un en-tête à deux rangs - PrawnPDF
|h1|h2|h3|h4|
-------------
|d1|d2|d3|d4|
|d1|d2|d3|d4|
|d1|d2|d3|d4|
généré par le code ci-dessous
tb = [["h1", "h2", "h3", "h4"],
["d1", "d2", "d3", "d4"],
["d1", "d2", "d3", "d4"],
["d1", "d2", "d3", "d4"]]
table(tb)do
row(0).font_style = :bold
end
Maintenant, la a besoin d'en-tête à effectuer par deux lignes comme ci-dessous
|text |
|h1|h2|h3|h4|
-------------
|d1|d2|d3|d4|
|d1|d2|d3|d4|
|d1|d2|d3|d4|
J'ai essayé de faire un sous-table et de l'utiliser comme l'en-tête mais ça ne couvre pas toute la table. Il ressemble à
|text |
|h1|h2|h3|h4|
----------------------
|d1 |d2|d3|d4|
|d1 |d2|d3|d4|
|d1 |d2|d3|d4|
et aucune ligne n'est en gras.
Voici le code jusqu'à présent
text = make_cell(content: 'text', colspan: 4)
header_array = [[text], ["h1", "h2", "h3", "h4"]]
header = make_table(header_array)
tb = [[header],
["d1", "d2", "d3", "d4"],
["d1", "d2", "d3", "d4"],
["d1", "d2", "d3", "d4"]]
table(tb)do
row(0).font_style = :bold
end
Toute idée comment puis-je couvrir l'en-tête?
PS J'utilise la version 1.3.0 et gambas gambas table 0.2.2
Merci
MISE À JOUR - Sur la base de réponse Florent, si vous voulez/besoin de passer un bloc à la table.
header_text = [[{content: "Text", colspan: 4}]]
tb = [["h1", "h2", "h3", "h4"],
["d1", "d2", "d3", "d4"],
["d1", "d2", "d3", "d4"],
["d1", "d2", "d3", "d4"]]
table(header_text + tb)do
row(0).font_style = :bold
self.header = 2
end
Merci pour la réponse. Je ne sais pas d'où provient 'header = 2', mais même si la table semble correcte, l'en-tête (2 lignes) n'est pas répété sur chaque page. En utilisant 1.3 – macsig
il s'est avéré que vous deviez ajouter 'self' pour le faire fonctionner' self.header = 2'. – macsig
mis à jour ma réponse avec la syntaxe correcte (juste testé) –