元素位置无效

时间:2015-02-19 10:51:45

标签: jasper-reports

我正在使用 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>

enter image description here

1 个答案:

答案 0 :(得分:1)

您的布局有两个问题。

  1. 元素jr:list的高度为15,元素jr:listContentstextField的高度均为30.将jr:list高度增加到30(或更高)或减少{{1} }和jr:listContents高度为15(或更低)。
  2. textField元素的位置应相对于textField。因此,由于jr:list的高度为15,因此您无法使用y = 275。
  3. 这是一个有效修改的版本。适合您的需求:

    jr:list