Jasper скрыть staticText и textField не удаляют пробел - PullRequest
0 голосов
/ 19 февраля 2020

Я создал основной отчет и подчиненный отчет с помощью Jasper. Из основного отчета я отправляю 2 параметра (Значение A и Значение B) в подотчет, который может быть равен 0. Если один параметр получает 0, ему нужно скрыть. enter image description here

Я использую атрибуты <printWhenExpression> и isRemoveLineWhenBlank="true", чтобы скрыть эти элементы. Они правильно скрываются в соответствии с параметрами, но если значение A получит 0, между KKK и значением B будет пробел.

enter image description here

для значения BI установили positionType="FixRelativeToTop". Это можно увидеть в окне свойств, но не в источнике JR XML. Есть ли способ избавиться от этого пробела?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

В отчете яшмы используются три типа позиций для размещения элемента в отчете. в документации отчета jasper,

  • positionType = "Float" - элемент плавает в своем родительском разделе, если он перемещается вниз другими элементами, найденными над ним. Он пытается сохранить расстояние между ним и соседними элементами, расположенными непосредственно над ним
  • positionType = "FixRelativeToTop" - текущий элемент отчета просто игнорирует то, что происходит с другими элементами раздела, и пытается сохранить смещение по y, измеренное из верхняя часть родительского раздела отчета. Это позиция по умолчанию.
  • positionType = "FixRelativeToBottom" - если на высоту родительского раздела отчета влияют растягивающиеся элементы, текущий элемент пытается сохранить исходное расстояние между его нижним полем и нижней частью раздел.

попробуйте следующую простую модификацию. для значения B установите для свойства «Тип позиции» значение «Float».

<reportElement positionType="Float" ... />

positionType свойство является атрибутом тега reportElement, как указано ниже,

<textField>
    <reportElement positionType="Float" ... />
    <textElement>
        <font ... />
    </textElement>
    <textFieldExpression> ... </textFieldExpression>
</textField>
0 голосов
/ 20 февраля 2020

Я отсортировал это, сделав одну строку Value B в качестве другого подотчета. Удалить все печати, когда условия из подотчета. Добавлены атрибуты printWhenExpression и isRemoveLineWhenBlank в основной отчет, подотчет reportElement тег.

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