@@ -228,11 +228,19 module Redmine | |||||
228 | # headers |
|
228 | # headers | |
229 | pdf.SetFontStyle('B',8) |
|
229 | pdf.SetFontStyle('B',8) | |
230 | pdf.SetFillColor(230, 230, 230) |
|
230 | pdf.SetFillColor(230, 230, 230) | |
231 | pdf.RDMCell(col_id_width, row_height, "#", 1, 0, 'C', 1) |
|
231 | ||
232 | query.columns.each_with_index do |column, i| |
|
232 | # render it background to find the max height used | |
233 | pdf.RDMCell(col_width[i], row_height, column.caption, 1, 0, 'L', 1) |
|
233 | base_x = pdf.GetX | |
234 | end |
|
234 | base_y = pdf.GetY | |
235 | pdf.Ln |
|
235 | max_height = issues_to_pdf_write_cells(pdf, query.columns, col_width, row_height, true) | |
|
236 | pdf.Rect(base_x, base_y, table_width, max_height, 'FD'); | |||
|
237 | pdf.SetXY(base_x, base_y); | |||
|
238 | ||||
|
239 | # write the cells on page | |||
|
240 | pdf.RDMCell(col_id_width, row_height, "#", "T", 0, 'C', 1) | |||
|
241 | issues_to_pdf_write_cells(pdf, query.columns, col_width, row_height, true) | |||
|
242 | issues_to_pdf_draw_borders(pdf, base_x, base_y, base_y + max_height, col_id_width, col_width) | |||
|
243 | pdf.SetY(base_y + max_height); | |||
236 |
|
244 | |||
237 | # rows |
|
245 | # rows | |
238 | pdf.SetFontStyle('',8) |
|
246 | pdf.SetFontStyle('',8) | |
@@ -296,12 +304,16 module Redmine | |||||
296 | end |
|
304 | end | |
297 |
|
305 | |||
298 | # Renders MultiCells and returns the maximum height used |
|
306 | # Renders MultiCells and returns the maximum height used | |
299 | def issues_to_pdf_write_cells(pdf, col_values, col_widths, row_height) |
|
307 | def issues_to_pdf_write_cells(pdf, col_values, col_widths, row_height, head=false) | |
300 | base_y = pdf.GetY |
|
308 | base_y = pdf.GetY | |
301 | max_height = row_height |
|
309 | max_height = row_height | |
302 | col_values.each_with_index do |column, i| |
|
310 | col_values.each_with_index do |column, i| | |
303 | col_x = pdf.GetX |
|
311 | col_x = pdf.GetX | |
304 | pdf.RDMMultiCell(col_widths[i], row_height, col_values[i], "T", 'L', 1) |
|
312 | if head == true | |
|
313 | pdf.RDMMultiCell(col_widths[i], row_height, column.caption, "T", 'L', 1) | |||
|
314 | else | |||
|
315 | pdf.RDMMultiCell(col_widths[i], row_height, column, "T", 'L', 1) | |||
|
316 | end | |||
305 | max_height = (pdf.GetY - base_y) if (pdf.GetY - base_y) > max_height |
|
317 | max_height = (pdf.GetY - base_y) if (pdf.GetY - base_y) > max_height | |
306 | pdf.SetXY(col_x + col_widths[i], base_y); |
|
318 | pdf.SetXY(col_x + col_widths[i], base_y); | |
307 | end |
|
319 | end |
General Comments 0
You need to be logged in to leave comments.
Login now