Как я могу использовать условный TextField в JasperReports?

Я хотел бы иметь пару TextFields в зависимости от значения. И "y" - значение должно быть скорректировано в зависимости от вакуума.

Когда значение "0" Я хотел бы скрыть TextField.

Т.е. Я хотел бы скрыться staticText и textField если параметр red равно "0" и переместите синие значения вверх в jrxml-коде ниже:

  <staticText>
    <reportElement x="100" y="30" width="100" height="30"/>
    <text><![CDATA[Red items:]]></text>
  </staticText>
  <textField>
    <reportElement x="200" y="30" width="40" height="30"/>
    <textFieldExpression>
      <![CDATA[$P{red}]]>
    </textFieldExpression>
  </textField>

  <staticText>
    <reportElement x="100" y="60" width="100" height="30"/>
    <text><![CDATA[Blue items:]]></text>
  </staticText>
  <textField>
    <reportElement x="200" y="60" width="40" height="30"/>
    <textFieldExpression>
      <![CDATA[$P{blue}]]>
    </textFieldExpression>
  </textField>

Пример вывода:

//if blue = 3 and red = 2    if blue = 3 and red = 0    if blue = 0 and red = 2
    Red items: 2               Blue items: 3              Red items: 2
    Blue items: 3    

Эти TextFields будут размещены в конце моего отчета. Как я могу сделать это?

9
задан Carl Manaster 14 November 2012 в 22:21
поделиться

2 ответа

<reportElement ...>
    <printWhenExpression><![CDATA[$P{red} == 0]]></printWhenExpression>
</reportElement>

Вы можете использовать iReport для изменения этого с приятным пользовательским интерфейсом.

12
ответ дан 4 December 2019 в 15:12
поделиться

Таким образом, нет, я не уверен, что это возможно.

Существует опция Удалить пустую ссылку , но она работает только в том случае, если вы хотите удалить всю строку. Здесь вы хотите удалить одну строку в определенном столбце.

В этом случае я бы рекомендовал использовать кросс-таблицу или функцию кросс-таблиц.

Присвойте группе столбцов значение X (предположим, что X - номер столбца) И дайте группе строк значение поля цвета, отсюда вы можете динамически изменять метку, примерно так:

$F{color}==null?"": ($F{color}.equals("RED")?"Red Items":"Blue Items")
1
ответ дан 4 December 2019 в 15:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: