Мне нужно иметь staticText
, чтобы плавать ниже другого элемента с переменной высотой. Я беру образец из книги JasperReports for Java Programmers
. Это говорит о том, что это возможно сделать. Разница с моим примером в том, что я использую жестко закодированную строку в textFieldExpression
, они используют поле $ F {}.
<textField isStretchWithOverflow="true" hyperlinkType="None">
<reportElement x="0" y="0" width="100" height="24"/>
<box>
<pen lineWidth="0.5" lineStyle="Solid"/>
</box>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA["jjjjjjjjjjj oooooooooo uuuuuuuuuu aaaaaaaaaa xxxxxxxxx u ttttt"]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="0" y="25" width="500" height="30"/>
<box>
<pen lineWidth="0.5" lineStyle="Solid"/>
</box>
<textElement/>
<text><![CDATA[ This staticText element has a positionType of "Float" ppp ]]></text>
</staticText>
Это говорит о том, что при использовании positionType="Float"
атрибут y игнорируется, поскольку staticText
располагается ниже textField
. Кажется, это работает, НО ... возможно, они меня преследуют? textField
имеет y = 0 и высоту = 24. staticText
имеет y = 25. Стечение обстоятельств? Если я изменю значение staticText
на y, очевидно, что оно не будет проигнорировано: элемент располагается там, где я ему говорю. Там нет плавающих !!!
Цитата из книги:
As we can see, setting the positionType attribute of <reportElement> to Float made JasperReports ignore the y position of the <staticText> element, which was pushed down by the stretched <textField> element.
Нет, мы не видим, как это игнорируется, потому что у = 25, где мы и ожидали!
positionType="Float"
работает на staticText
вообще?
Спасибо!