我正在使用 iReport 3.7.6 。
如果你看下面的图片,你会看到一个警告。警告说: 警告元素位置无效
元素到达列表内容高度之外:y = 275,高度= 30,列表内容高度= 30.
<componentElement>
<reportElement positionType="Float" x="0" y="217" width="555" height="15" />
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical" ignoreWidth="false">
<datasetRun subDataset="deliverableProductsDataset" >
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{deliverableProducts})]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="30" width="475" >
<textField isStretchWithOverflow="true">
<reportElement stretchType="RelativeToBandHeight" x="23" y="275" width="257" height="30"/>
<box topPadding="5" leftPadding="5" bottomPadding="5" rightPadding="5">
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font fontName="DejaVu Sans"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
答案 0 :(得分:1)
您的布局有两个问题。
jr:list
的高度为15,元素jr:listContents
和textField
的高度均为30.将jr:list
高度增加到30(或更高)或减少{{1} }和jr:listContents
高度为15(或更低)。textField
元素的位置应相对于textField
。因此,由于jr:list
的高度为15,因此您无法使用y = 275。这是一个有效修改的版本。适合您的需求:
jr:list