在默认值表达式中输入查询

时间:2013-06-14 09:52:40

标签: jasper-reports ireport

在Jasperreports中,我想将一个默认值表达式作为查询字符串输入参数,以便能够动态地为用户提供正确的默认值,但不强迫他选择它。

还有吗?

我猜结果应该看起来像这样(即使它不起作用):

enter image description here

我将此用于具有单值选择方法的表单(用户可以编写他/她想要的号码,但我希望从数据库中选择默认值)。

1 个答案:

答案 0 :(得分:0)

以下是我处理这个问题的方法:

用户从输入控件中选择一个值(在我的示例中,我将其称为$ P {time_toggle})。然后,我有另一个参数($ P {time_constraint})从$ P {time_toggle}获取用户输入,并根据它确定要注入主查询的SQL字符串。 $ P {time_constraint}的默认值表达式如下所示:

      $P{time_toggle} == "rolling_quarter" ? "..." : (
           $P{time_toggle} == "rolling_30_days" ? "..." : (...
           )
      )

然后,在我的主报告查询中,我引用$ P {time_constraint}:

     SELECT * FROM tblTable WHERE $P!{time_constraint}

要设置默认时间段,我将$ P {time_toggle}的默认值表达式设置为我想要的默认值。