Растяжение текстового поля JasperReports - можно ли ограничить высоту растяжения? - PullRequest
1 голос
/ 09 декабря 2011

У меня есть следующая проблема с подотчетом JasperReports, которую я пытался решить в течение последних нескольких дней, но безуспешно.Ниже приведено изображение того, что я пытаюсь сделать.

У меня есть подотчет в одном из моих отчетов, который относительно прост.Он получил полосу заголовка с одним текстовым полем (помечено коричневым цветом на изображении) для заголовка подотчета и полосу подробностей с двумя элементами: подотчет (помечен синим цветом на изображении), на которой печатаются мои позиции, и текстовое поле (помечено красным цветом визображение) печать комментариев, связанных с позициями, напечатанными слева от него.В подотчете о позиции можно печатать переменное количество позиций (источник данных, поддерживаемый коллекцией компонентов).Моим требованием клиентов является то, чтобы поле комментариев растягивалось и отображало введенный текст, но ограничивалось высотой раздела позиции (представленного стрелками на изображении).Мне как-то нужно предотвратить растягивание комментариев за пределы позиций и сделать их равными по высоте (на изображении не должно быть зеленой рамки).

У кого-нибудь есть какие-либо советы, как это может быть (и может ли это быть)В любом случае) Достигнуты ли в JasperReports?

ps В настоящее время мы компилируем наши отчеты с версией JR 3.6

enter image description here

1 Ответ

7 голосов
/ 09 декабря 2011

Поместите вложенный отчет и текстовое поле в рамку.Для текстового поля установите «Растянуть с переполнением» на false и «Тип растяжения» на «Относительно самого высокого объекта»

Текстовое поле растянется относительно самого высокого объекта в его контейнере.Его контейнер теперь является фреймом, поэтому «самым высоким объектом» может быть только подотчет.Убедитесь, что элементы имеют одинаковую высоту при их определении, в противном случае они будут расти с разной скоростью.

Пример JRXML:

<band height="50">
    <frame>
        <reportElement x="0" y="0" width="555" height="50"/>
        <subreport>
            <reportElement x="0" y="0" width="378" height="50"/>
            ...
        </subreport>
        <textField isStretchWithOverflow="false">
            <reportElement stretchType="RelativeToTallestObject" x="378" y="0" width="177" height="50"/>
            ...
        </textField>
    </frame> 
</band>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...