我想使用Jasper在Grails中为PDF创建一个包含动态标头的表。其中一种可能的解决方案是将属性作为xml属性的值。我很难用英语解释它,所以也许最好留下一个例子,这里是表格中静态标题的xml代码:
<staticText>
<reportElement x="29" y="183" width="118" height="32"/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center">
<font isBold="true"/>
</textElement>
<text><![CDATA[Column header text]]></text>
</staticText>
我想知道的是,是否可以为元素的x,y值和每个其他属性值设置一个参数,例如:
<staticText>
<reportElement x="<![CDATA[$P{columnX}]]>" y="<![CDATA[$P{columnY}]]>" width="<![CDATA[$P{columnWidth}]]>" height=32/>
<box>
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center">
<font isBold="true"/>
</textElement>
<text><![CDATA[Column header text]]></text>
</staticText>
参数将声明如下:
<parameter name="columnX" class="java.lang.Long"/>