我需要在报告中显示一个列表。
我需要将此列表显示在4厘米高的框架中。如果列表大于4cm,则必须将其截断为4cm。
我不知道该怎么做,不知道如何将一个细节带包含在一个高度固定的框架中。
“如何将细节带包括在高度固定的框架中?截断高度为4厘米。”
碧玉报告的主要优点是扩展范围以包括您提供的所有内容。
这就是为什么我建议您重新考虑您的报告,而不是试图截断内容而是提供较少的内容。最快的方法是限制细节区域中显示的行。es。
<detail>
<band height="35" splitType="Stretch">
<printWhenExpression><![CDATA[new Boolean($V{REPORT_COUNT}<=4)]]></printWhenExpression>
.... your textField's ...
</band>
</detail>
即使我的数据源提供了100条记录,我也只会打印出第4条记录。
绝不丑陋的截断,相反,我们用某种逻辑来处理这种情况,有一天我们甚至可以将4转换为参数(例如,用户可以定义他喜欢的记录数)或根据其他内容定义变量的变量。我们要显示的行数...
编辑:添加了如何使用jr:list
组件(无明细带)实现此结果
如果您使用的是jr:list
组件(没有明细栏),则需要在es内部的组件上设置printWhenExpression
和。isRemoveLineWhenBlank="true"
jr:list
<jr:listContents height="20" width="100">
<textField>
<reportElement x="0" y="0" width="100" height="20" isRemoveLineWhenBlank="true" uuid="c65e627e-be7f-4bce-9976-f89c5ccc5d68">
<printWhenExpression><![CDATA[new Boolean($V{REPORT_COUNT}<=4)]]></printWhenExpression>
</reportElement>
<textFieldExpression><![CDATA[$F{theField}]]></textFieldExpression>
</textField>
</jr:listContents>
注意:new Boolean()
过去与jasper report v3兼容(对于版本5/6,则不需要)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句