【问题标题】:Rotation of Text in Crosstab in Jasper Reports 4.5.0Jasper Reports 4.5.0 中交叉表中的文本旋转
【发布时间】:2019-04-20 02:23:03
【问题描述】:

由于过于复杂而无法深入探讨,我必须将新报告部署到现有的 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>

(如果您没有看到,我在textElement 中添加了rotation="Left"。)

它似乎对预览没有任何影响,无论我是预览到 HTML 还是 PDF。我看到其他人在比我更早的版本中提到文本旋转,所以我认为它在 4.5.0 中不受支持。再次,我错了吗?

【问题讨论】:

  • Would it be better to use a newer version, or to switch to Jaspersoft Studio, or something else? - 您可以使用 JSS 并在兼容模式下保存报告
  • I have seen others referring to text rotation in versions even older than mine, so I didn't think that it's unsupported in 4.5.0. Again, am I mistaken? - 您是否尝试过不在交叉表中执行此操作,例如仅在标题处放置一个文本字段?
  • Rotation 肯定在交叉表中起作用。上次我在 JR 6.x 使用了很多这样的文本字段
  • It doesn't seem to have any effect on the preview, whether I'm previewing to HTML or PDF. - 您是否尝试增加 textField 的高度?
  • @AlexK 增加 textField 的高度就可以了。几个小时以来,我一直在反对这一点。我只是没想到。把它放在一个答案中,我会接受。谢谢。

标签: jasper-reports crosstab text-rotation


【解决方案1】:

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

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

但我不确定与旧版本的 JasperReports Server 的集成能否在新版本的 JSS 上正常工作。

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

是的,当然。 textField 元素支持旋转,不是交叉表的特性。

iReport 可以改变文本的旋转。您可以在 文本属性 块中找到属性 Rotation

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

你应该增加 textField 的高度来解决问题。


注意事项

更多关于如何在JSS中启用兼容模式的细节你可以找到herehere

【讨论】:

  • 再次感谢,先生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多