2012-06-28 86 views
2

在我的应用程序中,我有一个可以由用户配置的称为日期格式的设置。他们可以使用一系列格式,当他们选择一种格式时,应用程序和报告中的所有日期都使用该格式。Jasper Reports自定义全局或内置参数

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

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

此外,有没有办法告诉碧玉,如果某个字段是某种类型的字段,可以在全局层面上自动执行某些操作。例如,如果我的字段类型是“十进制”,请使用数字格式?

回答

0

每个报告都有一个REPORT_FORMAT_FACTORY参数,它是net.sf.jasperreports.engine.util.FormatFactory的一个实例。您应该可以创建实现FormatFactory的类,并在构造函数中使用您需要的来确定正确的格式。然后在导出报告时将其添加到参数中。

您可能需要使用它,因为我不确定当值为/时未传入pattern。如果您始终忽略该模式,那么当您需要明确将其设置为在所有报告中相同时,这会导致问题。

如果我今晚得到时间,我会尝试创建一个例子,看看它是如何工作的,并更新我的答案,或者如果你打败了我,你可以发表评论,让我们知道它是如何工作的。