【问题标题】:Hide Records based on field values根据字段值隐藏记录
【发布时间】:2016-06-01 21:01:08
【问题描述】:

我们目前正在使用 iReport,我们要求仅在报告中显示字段之间存在差异的记录。要完成此报告,我需要隐藏在两个字段中具有匹配值的记录。据我所知,我可以使用 print when 表达式,但这只是为了单独隐藏字段而不是整个记录。这样做的过程是什么?

我在 iReports 中使用以下表达式创建了一个布尔值:

$F{Value1}.equals($F{Value2})

如果此布尔值为真,我需要在 Expression 标记不显示记录时使用打印。

我试过看反面

if(!$F{Value1}.equals($F{Value2})) 但 iReport 似乎不喜欢那样。

【问题讨论】:

  • 当表达完美时打印。你能发布样本吗?
  • @AlexK 示例:'' 如果 VGMWeightKGValue = GrossWeightKgValue 则隐藏记录。希望这可以为您提供更多信息。
  • @AlexK
  • 这个 sn-p 不相关。您应该发布简单的测试(您可以编辑原始帖子)以检查问题
  • if(!$F{Value1}.equals($F{Value2})) but iReport doesn't seem to like that. - 正确的表达式是:!$F{Value1}.equals($F{Value2})

标签: jasper-reports


【解决方案1】:

尝试添加 !在这样的表达式之前:

!$F{Value1}.equals($F{Value2})

这就是说:当 Value1 等于 Value2 时不要打印,我认为这是您想要的。

您的第二个带有“if”的表达式不起作用,因为它不是有效的布尔表达式。 if 语句是一个控制结构,没有返回值。

【讨论】:

    猜你喜欢
    • 2014-05-13
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多