2

我想为虾表的单元格中的部分内容设置一些背景颜色。

我的代码如下所示:

#file: /show.pdf.prawn
pdf.table([ ["Type XY", "150", "1245.45"],
            ["Type ZA", "100", "1243.50"],
            ["Type BC", "20", "645.00"] ])

只有XY, ZA, 和BC应该有相应的背景颜色。在 HTML 中我会写:<span style="background: yellow;">XY</span>- 但是 Prawn 还不支持这种内联格式。

对虾手册给我的唯一提示是:文本 -> 格式化回调。但这在表格中不起作用。有没有可能做到这一点?有没有相当于 HTML 的span?我应该尝试边界框还是内表?

4

2 回答 2

1

尝试

rows = [["Type XY", "150", "1245.45"],
        ["Type ZA", "100", "1243.50"],
        ["Type BC", "20", "645.00"]]

pdf.table(rows) do
  column(0).background_color = "708DC6" #the color
end

我建议您像本教程一样为虾创建另一个独立模型。

希望能有所帮助。

于 2013-07-10T07:14:03.030 回答
0

刚刚遇到可以帮助您解决此问题的代码。按单元格而不是表格上的列设置格式。

pdf.table(rows) do
  cells.style do |c|
    if c.column == 0 and c.row == 0
      c.background_color = "708DC6"
    elsif c.column == 1 and c.row == 0
      c.background_color = "2944ce"
    elsif c.column == 2 and c.row == 0
      c.background_color = "008000"
    end
  end
end

现在只有标题行有颜色,您可以选择每列。

于 2018-05-04T19:28:53.183 回答