我在类路径中有一个带有jar库的报告,以及一个在该库中定义了对象的数据源。
在TextField中我有这个:
((my.custom.package.MyClass)$F{my_field}.getOne()).getOther()
它编译没有问题。
但如果我试试这个:
((MyClass)$F{my_field}.getOne()).getOther()
iReport 会抛出错误:
MyClass cannot be resolved to a type.
是否有任何形式可以避免使用MyClass
的整个限定名称?
答案 0 :(得分:0)
我相信如果您切换到使用Groovy,那么您可以编写$F{my_field}.one.other
有关此内容的一些信息: http://community.jaspersoft.com/wiki/creating-expressions-using-groovy
我自己并没有这样做。
答案 1 :(得分:0)
您可以尝试将地图设置为my_field并在那里添加所有属性。
((java.util.Map<String,Object>)$F{my_field}).get("desired_key")
答案 2 :(得分:0)
最后我找到了答案:
单击报告根目录,然后在属性面板中转到&#34; Imports&#34;并添加&#34; my.custom.package.MyClass&#34;。
现在我可以在不编写包的情况下使用MyClass。
谢谢大家。