Динамическое текстовое поле c высота в JasperReports 6.12.2 - PullRequest
0 голосов
/ 20 апреля 2020

В настоящее время я работаю в API, который будет генерировать отчеты (с JasperReports 6.12.2), в этом случае мне нужно напечатать большую строку в текстовом поле, проблема в том, что я не могу дать подходящее поведение к этому элементу, чтобы настроить высоту на размер строки.

Я искал раньше, чтобы спросить, и все, что я нашел, было о свойстве isStretchWithOverflow="true", но не работает для меня, потому что в моей версии это устарело и заменено на textAdjust="StretchHeight", поэтому в основном все результаты заканчиваются на sh с тем же, текст обрезается текстовым полем.

Примечание: Также я должен сказать, что эта необходимость динамизма объясняется тем, что мне нужно разбить отчет на страницы.

  1. Элемент Текстовое поле JR XML код:
<textField textAdjust="StretchHeight">
    <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="190" width="555" height="321" isPrintWhenDetailOverflows="true"/>
    <textFieldExpression><![CDATA[$P{text}]]></textFieldExpression>
</textField>

Полная информация о группе JR XML код:

<detail>
<band height="802" splitType="Stretch">
    <textField>
        <reportElement x="0" y="40" width="140" height="20" uuid="8e0ef27f-45c4-45f5-8c36-93e126db95db"/>
        <textElement>
            <font fontName="SansSerif" size="11" isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$R{respuesta.cuerpo.codigo}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="0" y="60" width="140" height="20" uuid="6cfe8e0b-0b7d-47f5-be4e-4c94d7f19fac"/>
        <textElement>
            <font fontName="SansSerif" size="11" isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$R{respuesta.cuerpo.fecha}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="0" y="80" width="140" height="20" uuid="c8508fc6-3b17-4bcc-a207-2a9beff32263"/>
        <textElement>
            <font fontName="SansSerif" size="11" isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$R{respuesta.cuerpo.enviado}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="0" y="100" width="140" height="20" uuid="5f7c732e-aeee-4896-bf11-dbd8f2c2b02f"/>
        <textElement>
            <font fontName="SansSerif" size="11" isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$R{respuesta.cuerpo.asunto}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="0" y="120" width="140" height="20" uuid="71f51ac1-63c5-4abb-909a-3f31b14e0e80"/>
        <textElement>
            <font fontName="SansSerif" size="11" isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$R{respuesta.cuerpo.canal}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="0" y="140" width="140" height="20" uuid="00e9ac8d-c331-429d-944a-240e6abf2107"/>
        <textElement>
            <font fontName="SansSerif" size="11" isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$R{respuesta.cuerpo.nombre}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="0" y="160" width="140" height="20" uuid="4b22fdfb-36a3-41da-86d1-a527ca67667d"/>
        <textElement>
            <font fontName="SansSerif" size="11" isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$R{respuesta.cuerpo.texto}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="150" y="40" width="405" height="20" uuid="bc346e06-c225-4451-bde7-67bde39d402e"/>
        <textElement>
            <font fontName="SansSerif" size="11"/>
        </textElement>
        <textFieldExpression><![CDATA[$P{codigo}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="150" y="60" width="405" height="20" uuid="1d0ac2a4-fcb9-4ad3-9d9d-db440ae5cfb3"/>
        <textElement>
            <font fontName="SansSerif" size="11"/>
        </textElement>
        <textFieldExpression><![CDATA[new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").format( new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse($P{fAlta}))]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="150" y="80" width="405" height="20" uuid="d0189a13-4ded-45a1-82ad-5896a50f7fbf"/>
        <textElement>
            <font fontName="SansSerif" size="11"/>
        </textElement>
        <textFieldExpression><![CDATA[$P{mailPara}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="150" y="100" width="405" height="20" uuid="b0cfff7f-9230-4351-a59c-bf550fc4f0c2"/>
        <textElement>
            <font fontName="SansSerif" size="11"/>
        </textElement>
        <textFieldExpression><![CDATA[$P{asunto}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="150" y="140" width="405" height="20" uuid="15f48c57-404d-47e2-94a9-26da75054aa9"/>
        <textElement>
            <font fontName="SansSerif" size="11"/>
        </textElement>
        <textFieldExpression><![CDATA[$P{operador}]]></textFieldExpression>
    </textField>
    <staticText>
        <reportElement x="150" y="120" width="405" height="20" uuid="0926440c-f596-47a4-b7b4-674faa82b407"/>
        <textElement>
            <font fontName="SansSerif" size="11"/>
        </textElement>
        <text><![CDATA[Operador ATC]]></text>
    </staticText>
    <textField>
        <reportElement x="0" y="20" width="140" height="20" uuid="664930ad-64a1-44fc-9cdb-4ef34eb7cffa"/>
        <textElement>
            <font fontName="SansSerif" size="11" isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$R{respuesta.cuerpo.idPeticionATC}]]></textFieldExpression>
    </textField>
    <textField>
        <reportElement x="150" y="20" width="405" height="20" uuid="d9303c25-1ea8-45ca-b4b7-984a0b95d4ee"/>
        <textElement>
            <font fontName="SansSerif" size="11"/>
        </textElement>
        <textFieldExpression><![CDATA[$P{idPeticionATC}]]></textFieldExpression>
    </textField>
    <textField textAdjust="StretchHeight">
        <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="190" width="555" height="321" isPrintWhenDetailOverflows="true" uuid="0e59dd92-0a62-453a-9167-6a9d5b43ff54"/>
        <textFieldExpression><![CDATA[$P{text}]]></textFieldExpression>
    </textField>
</band>

1 Ответ

0 голосов
/ 23 апреля 2020

Через некоторое время, пытаясь решить эту проблему, я обнаружил проблему.

Недавно Jasper Reports обновил версию до версии 6.11 (Опубликовано: 2019-De c -12), в этой версии Jaspersoft® Studio изменил свойство ie isstretchwithoverflow заменено на textAdjust, поэтому проблема была связана с версией, и я понял, что моя библиотека отчетов Jasper была в более старой версии v6.2, где свойство ie textAdjust даже не существует.

Так что, если у кого-то еще возникла эта проблема, пожалуйста, проверьте версию своей библиотеки, если она ниже версии 6.11 и ваш плагин редактора версии 6.11 или выше, вы не сможете переполнять текст и правильно разбивать на страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...