如何在JasperReports中使用条件TextField?

我希望有一对TextFields取决于一个值。 并且应根据空白空间调整“y”值。

当值为"0"我想隐藏TextField。

即如果参数red等于"0"并且蓝色值向上移动,我想隐藏staticTexttextField ,在下面的jrxml代码中:

                      

输出示例:

 //if blue = 3 and red = 2 if blue = 3 and red = 0 if blue = 0 and red = 2 Red items: 2 Blue items: 3 Red items: 2 Blue items: 3 

这些TextField将放在我的报告的末尾。 我怎样才能做到这一点?

    

您可以使用iReport通过愉快的UI来修改它。

这样,不,我不确定是否可能。

有一个名为Remove Link When Blank的选项,但只有在您想删除整行时才有效。 在这里,您要删除特定列中的一行。

在这种情况下,我建议使用crosstab或CrossTablesfunction。

给列组赋值X.(假设X是列号)并给行组赋予颜色字段的值,从这里你可以动态地改变标签,如下所示:

 $F{color}==null?"": ($F{color}.equals("RED")?"Red Items":"Blue Items") 

你可以这样用

 Declare RED as [class="java.lang.Number"] 

打印时

 $P{red}.intValue() == 0 ? null : $P{red}.intValue() 

并使用字段时启用Blank at null选项

 textField isBlankWhenNull="true">