0

使用 Actuate eReport Designer Professional 9 服务包 3 Fix 2

我正在尝试设置文本控件的 ValueExp 属性以显示一个字符串,该字符串由与一些静态文本连接的除法结果组成。如果没有余数,我希望除法结果显示为整数。否则,我只想要一位小数。

将涉及条件逻辑,但我将能够处理。我真正想要的是,仅使用表达式生成器,我可以格式化数字。例如,我将如何获得5/3 & " text"要显示的表达式1.7 text?这个猜测,

 round(5/3, 1) & " text"

为“非法变量使用(回合)”和“未找到这些类型的运算符”引发错误

根据多米尼克的回答,这项努力:

BirtMath.round(5/3, 1)

导致在 BirtMath 上使用非法变量。

4

4 回答 4

2

试试这个:

BirtMath.round(5/3, 1) + " text"

(在 BIRT Eclipse 设计器上测试,这应该与实际的专业设计器相同)

于 2015-01-23T22:12:45.443 回答
1

最终完成工作的是:

Format(5/3, "##.#") & " text"
于 2015-01-26T14:20:11.847 回答
0

Dominique 的回答指的是 BIRT,这是一种完全不同的技术/产品。

如果要显示具有特殊格式的数值,文本控件不是这里的最佳选择。相反,您应该使用适当类型的数值控件(例如,Double Control)并覆盖该控件的 GetText() 方法来处理显示格式或使用条件格式。这是一个更好的解决方案的原因是数据搜索和导出无法与文本控件一起正常工作。

请注意,您可以使用如下格式模式:"#,##0 \T\e\x\t" 而不是连接字符串;使用条件格式时需要此技术。

就个人而言,我更希望您使用条件格式,因为我在设计 e.Reports 的该功能时付出了很多努力,我希望看到更多人使用它。:) 但是在您的特定情况下覆盖 GetText() 可能更容易,因为需要进行更复杂的字符串操作以消除尾随小数。

于 2015-03-07T15:59:54.233 回答
0

我想用 BIRT 补充一点,您还可以以更“图形化”的方式格式化文本,而不需要 SQL……以防它对某人有用……

选择对象 - 属性 - 格式编号 - 您选择格式

除了添加自定义格式外,每种情况都有多种选择。

当然,如何格式化文本是每个人的决定,知道它是如何以不同的方式完成的总是好的!

于 2018-02-08T11:54:50.100 回答