if语句更多条件

时间:2015-06-04 10:16:17

标签: jasper-reports

我正在创建一个自动报告生成器,他从数据库中获取信息。

您可以在pdf中看到进度,在该进度中您具有特定状态,始终为0,1,2或3。

如果状态为0-1,则应将图像更改为不完整的图像。 如果状态为2,则应将图像更改为完整图像 如果状态为3,则应将图像更改为未尝试成像。

我有一个代码支持前两个:

IF( $F{status} == 2) ? $P{IMG_DIR} + "scorm_completed.png" : $P{IMG_DIR} + "scorm_incomplete.png"

有谁知道我要改变什么?

1 个答案:

答案 0 :(得分:1)

以下是您将如何执行此操作的示例:

<image>
    <reportElement x="0" y="1" width="100" height="37"/>
    <imageExpression>
        <![CDATA[($F{status} == 3) ?
            $P{IMG_DIR} + "not_attempted.png" :
            (($F{status} == 2) ?
            $P{IMG_DIR} + "scorm_completed.png" :
            (($F{status} == 1 || $F{status} == 0) ?
            $P{IMG_DIR} + "scorm_incompleted.png" : null))]]>
    </imageExpression>
</image>

我正在使用null占位符来处理状态既不是0,1,2或3的情况,但您可能希望将其替换为错误图像。