0

我正在使用JODReports从模板生成 ODT 文件。我想用数据填充表格,所以我使用了JOOScriptFreemarker指令。现在我想根据我的数据有条件地格式化每一行:

@table:table-row
[#list rows as row]
[#if row.bar = "ipsum"]
    [#assign rowcolor="#0000AA"]
[#else]
    [#assign rowcolor="#000000"]
[/#if]

@/table:table-row
[/#list]

@#table:table-cell
<What_Should_I_Put_Here_To_Color_The_Cell_Background_With_rowcolor?>

如您所见,如果row.bar == "ipsum"我希望整行都#0000AA. 您知道实现这一目标的方法(或可接受的解决方法)吗?

谢谢你。

4

1 回答 1

0

我们通常在部分中创建表(比如名为 MyStyleTable)并将其隐藏。我们对该表所做的是设置它的属性,例如为每个单元格设置背景颜色,比如 A1 红色、B1 绿色。然后将适当的 MyStyleTable 单元格分配给您的表格(有数据的那个)单元格属性:

@table:table-row
[#if row.bar = "ipsum"]
    [#assign rowcolor='MyStyleTable.A1']
[#else]
    [#assign rowcolor='MyStyleTable.B1']
[/#if]
@/table:table-row

@#table:table-cell 
table:style-name=${rowcolor}

我相信我已经读过有一种方法可以从 contex.xml 导出样式,然后将样式分配给任何表格或单元格,但我还没有尝试过。

于 2013-02-14T14:07:19.767 回答