【问题标题】:Displaying static text instead of empty group in JasperReports在 JasperReports 中显示静态文本而不是空组
【发布时间】:2009-07-09 18:07:14
【问题描述】:

我有一个显示帐单行项目列表的 Jasper 报告。这些项目按计费周期分组,然后按项目是费用还是贷项进行分组。对于有费用但没有信用的计费期,我想在该期间的信用组中显示一个静态文本字段,说明“无信用”。如何才能做到这一点?

编辑添加:这是假设我对数据源使用 SQL 查询,而不是自定义一个。如果我自定义我的数据源,我可以在获得报告之前在预处理中处理这个问题,但我希望找到一种方法来解决 Jasper 跳过没有符合组标准的行的组的行为。

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    如果您能够在您的数据源中计算每个组的总积分数,那么您可以在静态文本上使用“print when expression”属性。例如:

    new Boolean ($F{total_credits}.equals(0));
    

    静态文本需要放在组页眉或页脚中,因为它在组详细信息部分不起作用(它会打印多次)。

    您可能需要创建一个变量而不是直接使用 $F{total_credits} - 我不确定 JasperReports 如何处理访问组页脚中的字段。您可能还会发现,在组页眉中它会选择正确的 total_credits,而在组页脚中却没有。

    另一种方法是使用一个变量来计算组中的总积分数。您需要将变量的“重置类型”设置为“组”,然后设置重置组。变量表达式类似于:

    $V{myvariable} + 
    ($F{credit_or_debit}.equals("credit") ? new Integer(1) : new Integer(0))
    

    初始值表达式为new Integer(0)

    然后在组页脚中,您可以使用静态文本上的“print when expression”来查看变量。

    【讨论】:

      猜你喜欢
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2020-02-08
      • 1970-01-01
      相关资源
      最近更新 更多