JasperReports:如果框架 B 中的一个字段为空或为空,则将框架 B 隐藏在框架 A 中
JasperReports: Hide frame B within frame A, if one the fields inside frame B is null or is empty
我在 jasper 报告中遇到有关设计文档模板的问题。这就像一份简历。
我有这个文件:
标题[静态文本]
年龄[静态文本] | [某字段A]
性别[静态文本] | [某字段B]
位置[静态文本] | [某些字段 C]
我的 jasper 报告的当前结构是这样的:
我有这个框架A,它有一个垂直布局。
模板中的每一行(年龄、性别、位置)对应于我创建的框架 1、2 和 3。
例如,第 1 帧具有水平布局,其中 'Age [static text]' 和“[某些字段 A]”作为其内容。适用于第 2 帧和第 3 帧。
第 1 帧的位置类型是相对于顶部固定的,而第 2 帧和第 3 帧是浮动的。
如果[某些字段] B 为空或为空,我希望隐藏行性别并向上移动。我该怎么做?
我试过在空白时删除行,但它只能在一个有多个字段的框架内工作。基本上,如果 [某些字段 A] 为空或为空,我希望隐藏第 1 帧并向上移动第 2 帧和第 3 帧。
希望尽快回复。
为了达到你想要的结果集:
positionType="Float"
on the reportElement
inside the frame
(需要在其他的基础上move元素。
isRemoveLineWhenBlank="true"
,如果根据 printWhenExpression
不可见,则 删除
在 printWhenExpression
es 中包含对 所有 帧内字段的检查。 new Boolean($F{field1}==null || $F{field2}==null || $F{field3}==null)
例子
<frame>
<reportElement positionType="Float" x="13" y="12" width="287" height="35" isRemoveLineWhenBlank="true" uuid="ee6707a4-bcb4-402b-95c0-6f4613747d2f">
<printWhenExpression><![CDATA[new Boolean($F{field1}==null || $F{field2}==null || $F{field3}==null)]]></printWhenExpression>
.. your textFields ...
</reportElement>
</frame>
注意: 为了与 jasper 报告 3 和 jdk 1.4 兼容,我使用了 new Boolean(...) 这在 jasper 报告 5,6 中没有必要
我在 jasper 报告中遇到有关设计文档模板的问题。这就像一份简历。
我有这个文件:
标题[静态文本]
年龄[静态文本] | [某字段A]
性别[静态文本] | [某字段B]
位置[静态文本] | [某些字段 C]
我的 jasper 报告的当前结构是这样的:
我有这个框架A,它有一个垂直布局。 模板中的每一行(年龄、性别、位置)对应于我创建的框架 1、2 和 3。
例如,第 1 帧具有水平布局,其中 'Age [static text]' 和“[某些字段 A]”作为其内容。适用于第 2 帧和第 3 帧。
第 1 帧的位置类型是相对于顶部固定的,而第 2 帧和第 3 帧是浮动的。
如果[某些字段] B 为空或为空,我希望隐藏行性别并向上移动。我该怎么做?
我试过在空白时删除行,但它只能在一个有多个字段的框架内工作。基本上,如果 [某些字段 A] 为空或为空,我希望隐藏第 1 帧并向上移动第 2 帧和第 3 帧。
希望尽快回复。
为了达到你想要的结果集:
positionType="Float"
on thereportElement
inside theframe
(需要在其他的基础上move元素。isRemoveLineWhenBlank="true"
,如果根据printWhenExpression
不可见,则 删除
在
printWhenExpression
es 中包含对 所有 帧内字段的检查。new Boolean($F{field1}==null || $F{field2}==null || $F{field3}==null)
例子
<frame>
<reportElement positionType="Float" x="13" y="12" width="287" height="35" isRemoveLineWhenBlank="true" uuid="ee6707a4-bcb4-402b-95c0-6f4613747d2f">
<printWhenExpression><![CDATA[new Boolean($F{field1}==null || $F{field2}==null || $F{field3}==null)]]></printWhenExpression>
.. your textFields ...
</reportElement>
</frame>
注意: 为了与 jasper 报告 3 和 jdk 1.4 兼容,我使用了 new Boolean(...) 这在 jasper 报告 5,6 中没有必要