X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=modules%2Foverride%2FPDF%2FTable.pm;h=a805f77678512dc6619c381aecc266ab00b1e8b9;hb=6ecf138db5fceea08d68dbcd539344797cd43939;hp=f6aa94796b0c7fd7d2c91fcedcf9825c20dec932;hpb=d11ebeaadf1c5d2d76b7bf5c93cba8a27f923290;p=kivitendo-erp.git diff --git a/modules/override/PDF/Table.pm b/modules/override/PDF/Table.pm index f6aa94796..a805f7767 100755 --- a/modules/override/PDF/Table.pm +++ b/modules/override/PDF/Table.pm @@ -614,11 +614,9 @@ sub table if( ref $header_props and $header_props->{'repeat'}) { - for my $idx (0 .. $header_props->{num_header_rows} - 1) { - unshift @$data, [ @{ $header_rows[$idx] } ]; - unshift @$row_col_widths, [ @{ $header_row_widths[$idx] } ]; - unshift @$rows_height, $header_row_heights[$idx]; - } + unshift @$data, @header_rows; + unshift @$row_col_widths, @header_row_widths; + unshift @$rows_height, @header_row_heights; $remaining_header_rows = $header_props->{num_header_rows}; $first_row = 1; } @@ -673,8 +671,8 @@ sub table # Choose colors for this row - $background_color = $row_index % 2 ? $background_color_even : $background_color_odd; - $font_color = $row_index % 2 ? $font_color_even : $font_color_odd; + $background_color = ($row_index - $header_props->{num_header_rows}) % 2 ? $background_color_even : $background_color_odd; + $font_color = ($row_index - $header_props->{num_header_rows}) % 2 ? $font_color_even : $font_color_odd; #Determine current row height my $current_row_height = $pad_top + $pre_calculated_row_height + $pad_bot; @@ -746,9 +744,9 @@ sub table // $default_text; my $this_width; - if (!$remaining_header_rows && $cell_props->[$row_index][$column_idx]->{colspan}) { - $colspan = $cell_props->[$row_index][$column_idx]->{colspan}; - } elsif ($remaining_header_rows && $header_row_cell_props[$header_props->{num_header_rows} - $remaining_header_rows][$column_idx]->{colspan}) { + if (!$remaining_header_rows && $cell_props->[$row_index + $header_props->{num_header_rows}][$column_idx]->{colspan}) { + $colspan = $cell_props->[$row_index + $header_props->{num_header_rows}][$column_idx]->{colspan}; + } elsif ($remaining_header_rows && ($header_row_cell_props[$header_props->{num_header_rows} - $remaining_header_rows][$column_idx]->{colspan})) { $colspan = $header_row_cell_props[$header_props->{num_header_rows} - $remaining_header_rows][$column_idx]->{colspan}; } @@ -846,7 +844,7 @@ sub table } # Get the most specific value if none was already set from header_props - $cell_bg_color ||= $cell_props->[$row_index][$column_idx]->{'background_color'} + $cell_bg_color ||= $cell_props->[$row_index + $header_props->{num_header_rows}][$column_idx]->{'background_color'} || $col_props->[$column_idx]->{'background_color'} || $background_color;