2017-09-25 11 views
0

私は単純なテーブルがPrawnPDFで生成した今2列ヘッダを持つテーブルを作成する方法 - PrawnPDF

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 

の下にコードによって生成

|h1|h2|h3|h4| 
------------- 
|d1|d2|d3|d4| 
|d1|d2|d3|d4| 
|d1|d2|d3|d4| 

以下のいずれかのように見えますヘッダーは次の2行で作成する必要があります

|text  | 
|h1|h2|h3|h4| 
------------- 
|d1|d2|d3|d4| 
|d1|d2|d3|d4| 
|d1|d2|d3|d4| 

サブテーブルを作成してヘッダーとして使用しようとしましたすべての表にまたがっているわけではありません。それはのように見える

|text  | 
|h1|h2|h3|h4| 
---------------------- 
|d1   |d2|d3|d4| 
|d1   |d2|d3|d4| 
|d1   |d2|d3|d4| 

と太字はありません。ここで

これまでのコード

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 

任意のアイデアどのように私は、ヘッダーにまたがることができますか?あなたがブロックを渡す/必要性をしたい場合は、フロランの回答に基づいて - 私はエビのバージョン1.3.0とエビ、表0.2.2

おかげ

UPDATEを使用してい

PS表。

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 

答えて

1

あなたはヘッダーパラメータを使用しようとしていますか?

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, header: 2)do 
    row(0).font_style = :bold 
end 
+0

返信いただきありがとうございます。 'header = 2'の出所がわからないのですが、表がうまく見えても各ページでヘッダー(2行)は繰り返されません。 1.3 – macsig

+0

を使うと、 'self.header = 2'を動作させるために' self'を追加しなければなりません。 – macsig

+0

私の答えが正しい構文で更新されました(テスト済み) –

関連する問題