一、问题场景
特殊情况下,需要打印斤价,以及将基本单位转换成斤。
二、操作步骤
👉【操作路径】:1. 同样,我们以3.0的盘点差异单报表的属性为例:比如 “ 处理 ” 这一列就用到了 “ if ” 判断,处理属性列的 Text Field Expression 是这样写的:$F{checkOrderDetailSynchronized}? "是":"" ,
首先checkOrderDetailSynchronized是Boolean类型,就可以直接判断,这句脚本的意思就是,判断处理的属性checkOrderDetailSynchronized是否为真,为真的话就打印 是,为假的话就什么都不打印;
再举个例子 $F{checkOrderDetailCause} == null ? "" : $F{checkOrderDetailCause},其中checkOrderDetailCause表示差异原因,为String类型,这句脚本的意思,判断差异原因checkOrderDetailCause是否为空,
是的话就什么都不打印,不是的话,就打印出差异原因;
从上述两个例子不难看出在ireport的 if 判断的格式为:condition ? exp1 : exp2 ;其中问号前面的condition表示要判断的情形,冒号前的 exp1 表示情况condition为真时的结果,冒号后的 exp2 表示情况condition为假时的结果,
比如 3 > 2 ? "真的" : "假的" ; 则表示判断 3>2 的情况是否是真的,如果是真的,就输出 真的 两个字,如果是假的,就输出 假的 两个字,那么 3 > 2 必然是真的,所以输出的结果就是 真的 。
2.综上所述,单位转换成斤可以这样设置:$F{orderDetailUseUnit}=="公斤"?"斤":$F{orderDetailUseUnit}(批发销售单)
三、注意事项
上面步骤2举例的例子,符号都要将输入法切换成英文情况下输入