如何使用 RML 报告生成动态列?
问问题
4072 次
1 回答
2
通读有关报告中动态内容的开发人员文档。你可以使用这个repeatIn()
函数来循环你的日期,但诀窍是调整列宽。我怀疑您可以colWidths
使用该setTag()
函数更改表的属性。
这是我用它来更改表格样式的示例。
<section>
[[ repeatIn(lines(data['form'],object=o), 'a') ]]
<blockTable>
[[ setTag('blockTable','blockTable',{'colWidths': '80.0,150.0,80.0', 'style': 'Table' + str(a['level'] if a['level'] <= 5 else 5)}) ]]
<tr>
<td lineAboveColor="#000000" lineAboveThickness="5" lineAboveCount="1" lineAboveSpace="5">
<para style="P10"><font>[[ setTag('font','font',{'face':o.font_style or 'Helvetica', 'color':o.color_font.name or 'black', 'backColor':o.color_back.name or 'white'}) ]] [[ a['code'] ]]</font></para>
</td>
<td>
<para style="P17"><font color="white">[[ '..'*(a['level']-1) ]]</font><font>[[ setTag('font','font',{'face':o.font_style or 'Helvetica', 'color':o.color_font.name or 'black', 'backColor':o.color_back.name or 'white'}) ]] [[ a['name'] ]]</font></para>
</td>
<td>
<para style="P18"><font>[[ setTag('font','font',{'face':o.font_style or 'Helvetica', 'color':o.color_font.name or 'black', 'backColor':o.color_back.name or 'white'}) ]][[ '%.2f'% a['balance'] ]]</font></para>
</td>
</tr>
</blockTable>
</section>
于 2012-05-22T19:31:15.233 回答