Jasper Reports自定义全局或内置参数

时间:2012-06-28 17:28:54

标签: jasper-reports jasperserver

在我的应用程序中,我有一个可由用户配置的设置,称为日期格式。他们可以使用一系列格式,当他们选择一种格式时,应用程序和报告中的所有日期都使用该格式。

每次创建新报表时,我都必须创建参数并链接输入控件。我刚添加了一个新设置,用于格式化数字。我有大约50份报告,我需要将其应用于此。在完成将参数和输入控件添加到每个报告的单调任务后,我想知道是否有更简单的方法。

是否可以创建一个自动可用于所有报告的自定义全局参数(与内置参数类似)?

此外,有没有办法告诉jasper一个字段是否属于某种类型,以便在全局范围内自动对其执行某些操作。例如,如果我的字段类型是'decimal',请应用数字格式?

1 个答案:

答案 0 :(得分:0)

每个报告都有一个REPORT_FORMAT_FACTORY参数,该参数是net.sf.jasperreports.engine.util.FormatFactory的一个实例。您应该能够创建实现FormatFactory的类,并在构造函数中获取确定正确格式所需的内容。然后在导出报告时将其添加到参数中。

您可能需要使用它,因为我不确定当值未设置时它为pattern传递了什么。如果你总是忽略这个模式,那么当你需要在所有报告中明确地将它设置为相同时,它将导致问题。

如果我今晚有空,我会尝试创建一个示例,看看它是如何工作的,并更新我的答案,或者如果你打败我,你可以发表评论,告诉我们它是如何运作的。