我正在使用JODReports从模板生成ODT文件。我想用数据填充一个表,所以我使用JOOScript
和Freemarker指令。
现在我想根据我的数据有条件地格式化每一行:
@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
。你知道一种方法(或可接受的解决方法)吗?
谢谢。
答案 0 :(得分: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导出样式,然后将样式分配给任何表或单元格,但我还没有尝试过。