Skip to content

Commit d468b7b

Browse files
committed
if your table has header-rows, ignore the :header => true setting
when you set 'repeat headding', the table is generated internally with a table:table-header-rows enclosing the table-rows
1 parent 240317a commit d468b7b

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

lib/odf-report/table.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ def replace!(doc, row = nil)
5151

5252
@template_rows = table.xpath("table:table-row")
5353

54+
@header = table.xpath("table:table-header-rows").empty? ? @header : false
55+
5456
@collection.each do |data_item|
5557

5658
new_node = get_next_row

test/test_table_headers.odt

9.98 KB
Binary file not shown.

test/test_table_headers.rb

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
require '../lib/odf-report'
2+
require 'ostruct'
3+
require 'faker'
4+
5+
class Item
6+
attr_accessor :name, :mail
7+
def initialize(_name, _mail)
8+
@name=_name
9+
@mail=_mail
10+
end
11+
end
12+
13+
items = []
14+
50.times do
15+
16+
items << Item.new(Faker::Name.name, Faker::Internet.email)
17+
18+
end
19+
20+
report = ODFReport::Report.new("test_table_headers.odt") do |r|
21+
22+
r.add_table("TABLE_01", items, :header => true) do |s|
23+
s.add_column(:name)
24+
s.add_column(:mail)
25+
end
26+
27+
r.add_table("TABLE_02", items, :header => true) do |s|
28+
s.add_column(:name)
29+
s.add_column(:mail)
30+
end
31+
32+
r.add_table("TABLE_03", items) do |s|
33+
s.add_column(:name)
34+
s.add_column(:mail)
35+
end
36+
37+
end
38+
39+
report.generate("./result/")

0 commit comments

Comments
 (0)