2012-12-12 43 views
0

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

@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

我们通常在部分中创建表(称为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出口风格的方式,然后分配样式表什么或细胞,但我没有尝试过。

+0

非常感谢。我会尝试将其添加到我的[JODReports示例项目](http://github.com/mdeverdelhan/java-samples/tree/master/jodreports-samples)。 –

相关问题