我在jasper中有一个表,我需要该表中某些单元格的内容垂直对齐。,我试图用iReport编辑报告。
在iReport中,我可以进入单元格的属性,并看到垂直对齐设置为“中间”。此外,当我直接查看XML时(参见下面),可以看到 textElement 标记具有verticalAlignment="Middle“属性。
离我很近,文本应该在它的小方框内垂直对齐,但是它不会正确地对齐.
我希望在jasper报告中有垂直排列经验的人可以指出我做错了什么,非常感谢。
<textField
isStretchWithOverflow="false"
isBlankWhenNull="true"
evaluationTime="Now"
hyperlinkType="None"
hyperlinkTarget="Self" >
<reportElement
x="227"
y="0"
width="31"
height="14"
key="textField-4"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="Times New Roman" pdfFontName="Times-Roman" size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{someVariableName}]]></textFieldExpression>
</textField>所以,说清楚,我在我的报告中的内容如下:
|--------|
| text |
| |
| |
|--------|我想要的是这样的:
|--------|
| |
| text |
| |
|--------|发布于 2014-02-05 12:47:42
下面是我如何解决这个问题(iReport 3.7.6):
在Designer选项卡中:
正如您所看到的,这将允许您以您想要的方式准确地定位静态文本。
如果您只能在XML中进行更改,那么XML中的更改就是这样出现的:
<box topPadding="4"/>示例w/静态文本代码块:
<staticText>
<reportElement positionType="Float" mode="Opaque" x="14" y="27" width="118" height="14" forecolor="#FFFFFF" backcolor="#909090"/>
<box topPadding="4"/>
<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None" lineSpacing="Single" markup="none">
<font fontName="Arial" size="7" isBold="true" isUnderline="false" isStrikeThrough="false" isPdfEmbedded="false"/>
</textElement>
<text><![CDATA[SAMPLE TEXT SAMPLE TEXT]]></text>
</staticText>发布于 2010-11-25 22:58:32
您可以检查positionType="FixRelativeToTop“2)是否使用alingn =FixRelativeToTop创建一个样式,并将其应用于您的项目--也许这会有所帮助。
https://stackoverflow.com/questions/4209049
复制相似问题