Jasper Reports文档对此问题保持沉默,并且JRDataSource接口未明确允许访问当前bean。如果要调用某些非属性方法,则当前的bean句柄非常有用。
到目前为止我在jasper报告源中找到的唯一解决方案是在报告中使用_THIS字段并在其上调用所需的方法:
${_THIS}.computeSomeValue()
是否有更好,更标准的方法?
答案 0 :(得分:1)
我通常使用扩展JRDefaultScriptlet的custom_Scriptlet(如果我需要任何其他与我的bean相关的方法调用)。我认为更好的方法是收集您将需要的所有数据(在您的bean中使用setter / getter方法作为实例变量,或在填写报表时作为参数传递)。
这样你可以让属性bean方法处理其余的事情。
答案 1 :(得分:0)
尝试:
$ P {REPORT_DATA_SOURCE} .getData()。get($ V {REPORT_COUNT} - 1)