使用Actuate eReport Designer Professional 9 SErvice Pack 3修复2
我正在尝试设置文本控件的ValueExp属性,以显示由与某些静态文本连接的除法结果组成的字符串。如果没有余数,我希望除法结果显示为整数。否则,我只想要1位小数。
将涉及条件逻辑,但我将能够处理。我真正想要的是,只使用表达式生成器,我可以格式化数字。例如,我如何获得表达式5/3 & " text"
来显示1.7 text
?这个猜测,
round(5/3, 1) & " text"
错误地使用了#34;非法变量使用(回合)"和"找不到这些类型的运算符"
来自多米尼克的回答,这项努力:
BirtMath.round(5/3, 1)
导致在BirtMath上使用非法变量。
答案 0 :(得分:2)
试试这个:
BirtMath.round(5/3, 1) + " text"
(在BIRT Eclipse设计师的测试中,这应该与激励专业设计师相同)
答案 1 :(得分:1)
最终完成工作的是:
Format(5/3, "##.#") & " text"
答案 2 :(得分:0)
多米尼克的回答是指BIRT,这是一种完全不同的技术/产品。
如果要显示具有特殊格式的数值,则文本控件不是此处的最佳选择。相反,您应该使用适当类型的数字控件(例如,Double Control)并覆盖该控件的GetText()方法以处理显示格式或使用条件格式。这是一个更好的解决方案的原因是数据搜索和导出将无法与文本控件一起正常工作。
请注意,您可以使用如下格式模式:"#,## 0 \ T \ e \ x \ t"而不是连接字符串;使用条件格式时需要使用此技术。
就个人而言,我更希望您使用条件格式,因为我花了很多精力来设计e.Reports的这个功能,并且我希望看到更多人使用它。 :)但是在你的特定情况下,重写GetText()可能更容易,因为需要做更复杂的字符串操作来消除尾随的小数。
答案 3 :(得分:0)
我想用BIRT添加它,你也可以用更“图形化”的方式格式化文本,而不需要SQL ......以防它对某人有用......
选择对象 - 属性 - 格式编号 - 您选择格式
除了添加自定义格式外,每种情况都有多种。
当然,每个人都决定如何格式化文本,了解它是如何以不同方式完成的总是很好的!