Как обернуть детальную полосу в Jasper Reports - PullRequest
4 голосов
/ 08 октября 2010

У меня есть полоса подробностей с потенциально большим количеством текстовых полей.Он может стать слишком широким, чтобы поместиться на странице.В результате он просто выходит за край страницы, и вы не можете видеть все это.Я бы хотел, чтобы детальная группа переместилась на другую строку.Есть ли способ сделать это?

Моя полоса детализации встроена в код динамически, и количество полей может варьироваться.Я попытался вручную расположить переполняющиеся поля ниже в полосе, установив их значения y, но затем, если текст в полях переполняется в две строки, мои вычисления высоты отключаются и результаты действительно испорчены.Есть ли способ ограничить полосу, чтобы она поместилась на странице?

Ответы [ 2 ]

3 голосов
/ 13 октября 2010

К сожалению, типы растяжек в яшме работают только между группами, а не внутри группы.

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

Вам нужно будет создать более одной группы деталей. В iReport вы используете «Добавить еще одну группу деталей» (в контекстном меню группы деталей). Динамически это будет выглядеть примерно так:

JRDesignSection detailSection = (JRDesignSection)design.getDetailSection();
JRDesignBand detail2 = new JRDesignBand();
detailSection.addBand(detail2);
2 голосов
/ 09 октября 2010

Возможно, в вашем reportElement для каждого поля в группе вам нужно установить атрибут stretchType="RelativeToTallestObject".

<reportElement stretchType="RelativeToTallestObject" ...>

Я почти уверен, что это работает для меня.

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