Jasper Reports 4.5.0中交叉表中的文本旋转

时间:2018-11-16 21:25:37

标签: jasper-reports crosstab text-rotating

由于太复杂的原因,我必须将新报告部署到现有的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不支持它。再说一次,我误会了吗?

1 个答案:

答案 0 :(得分:1)

是否可以使用 JaspersoftStudio JSS )代替 iReport 4.5.0

是的,用于本地设计和测试模板。您可以使用兼容模式以 JasperReports 4.5.0 版本的格式保存模板。

但是我不确定与 JasperReports Server 的旧版本集成是否可以在 JSS 的新版本中正常使用。

交叉表是否支持垂直旋转的文本(例如,在标题处)?

是的,当然可以。旋转受 textField 元素支持,这不是交叉表的功能。

iReport 可以更改文本的旋转方式。您可以在 文本属性 块中找到属性 旋转

The property for changing text orientation

您遇到的问题的原因是 textField 的大小不足以显示文本。例如,如果我们有 textField ,其默认水平文本的高度太小而无法显示该文本,则呈现的结果将为空。

您只需增加 textField 的高度即可解决问题。


注释

更多详细信息如何在 JSS 上启用兼容模式,您可以找到herehere