由于太复杂的原因,我必须将新报告部署到现有的JasperReports Server 4.5.0安装中。无法升级。我认为使用iReport 4.5.0来确保与服务器的兼容性是最简单的。我错了吗?使用新版本或切换到Jaspersoft Studio或其他方式会更好吗?
该报告涉及具有许多列的交叉表。为了使它们全部适合一个标准的横向页面,我需要将列标题的旋转更改为垂直。单元内部的数据非常短。我在iReport中找不到更改标题中文本旋转的选项,所以我将XML更改为:
<crosstabColumnHeader>
<cellContents backcolor="#F0F8FF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="30"/>
<textElement/>
<textFieldExpression><![CDATA[$V{ACTION_DESC}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabColumnHeader>
收件人:
<crosstabColumnHeader>
<cellContents backcolor="#F0F8FF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="30"/>
<textElement rotation="Left"/>
<textFieldExpression><![CDATA[$V{ACTION_DESC}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabColumnHeader>
(如果您看不到它,我在rotation="Left"
上添加了textElement
。)
无论我预览到HTML还是PDF,它似乎都对预览没有任何影响。我见过其他人提到比我的版本还旧的版本中的文本旋转,因此我不认为4.5.0不支持它。再说一次,我误会了吗?
答案 0 :(得分:1)
是的,用于本地设计和测试模板。您可以使用兼容模式以 JasperReports 4.5.0 版本的格式保存模板。
但是我不确定与 JasperReports Server 的旧版本集成是否可以在 JSS 的新版本中正常使用。
是的,当然可以。旋转受 textField 元素支持,这不是交叉表的功能。
iReport 可以更改文本的旋转方式。您可以在 文本属性 块中找到属性 旋转 。
您遇到的问题的原因是 textField 的大小不足以显示文本。例如,如果我们有 textField ,其默认水平文本的高度太小而无法显示该文本,则呈现的结果将为空。
您只需增加 textField 的高度即可解决问题。