此图显示了我的交叉表中列的外观示例(我有两个列组 - 在本例中为日期和状态)。日期应该在5列中居中,我已将水平设置为居中。但是,它只是根据我在iReport中设置的大小来居中。我已经尝试调整各种设置,但无法居中第一行。我正在使用JasperReports 4.0.1。
答案 0 :(得分:4)
我知道这有点晚了,但这就是你做的事情:
声明columnGroup元素时,将headerPosition属性设置为“Stretch”。例如:
<columnGroup name="month" height="20" headerPosition="Stretch">
<bucket>
<bucketExpression class="java.lang.String"><![CDATA[$F{month}]]></bucketExpression>
</bucket>
<crosstabColumnHeader>
<cellContents backcolor="#999999" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="16" height="20"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.String"><![CDATA[$V{month}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabColumnHeader>
<crosstabTotalColumnHeader>
<cellContents/>
</crosstabTotalColumnHeader>
此致 达米安