Выделить поля в отчете jasper с помощью json datasource [duplicate]

Когда мы это делаем:

def foo(a=[]):
    ...

... мы присваиваем аргумент a списку unnamed , если вызывающий объект не передает значение a .

Чтобы упростить эту дискуссию, давайте временно присвоим неназванному списку имя. Как насчет pavlo?

def foo(a=pavlo):
   ...

В любое время, если вызывающий абонент не сообщает нам, что a, мы повторно используем pavlo.

Если pavlo изменен (модифицируется), а foo заканчивает его модификацию, эффект, который мы замечаем в следующий раз, foo вызывается без указания a.

Итак, это то, что вы видите (помните, pavlo инициализируется в []):

 >>> foo()
 [5]

Теперь pavlo - [5].

Вызов foo() снова снова изменяет pavlo:

>>> foo()
[5, 5]

Задание a при вызове foo() гарантирует, что pavlo не коснулся.

>>> ivan = [1, 2, 3, 4]
>>> foo(a=ivan)
[1, 2, 3, 4, 5]
>>> ivan
[1, 2, 3, 4, 5]

Итак, pavlo все еще [5, 5].

>>> foo()
[5, 5, 5]
13
задан mdahlman 6 January 2012 в 21:32
поделиться

1 ответ

Вы можете использовать Conditional styles для решения этой проблемы.

Образец:

<style name="ZFieldStyle">
    <conditionalStyle>
        <conditionExpression><![CDATA[$F{Z} < $F{Y}]]></conditionExpression>
        <style forecolor="#000000"/>
    </conditionalStyle>
    <conditionalStyle>
        <conditionExpression><![CDATA[$F{Z}>$F{X}]]></conditionExpression>
        <style forecolor="#FF0000"/>
    </conditionalStyle>
</style>
...
<field name="X" class="java.lang.Integer"/>
<field name="Y" class="java.lang.Integer"/>
<field name="Z" class="java.lang.Integer"/>
...
<textField>
    <reportElement style="ZFieldStyle" x="200" y="0" width="100" height="20"/>
    <textElement/>
    <textFieldExpression><![CDATA[$F{Z}]]></textFieldExpression>
</textField>
14
ответ дан Alex K 20 August 2018 в 22:55
поделиться
  • 1
    Несколько дополнительных вопросов. Почему я не могу сделать то же самое с backcolor? Кроме того, когда я это делаю, цвет рамки ячейки также изменяется ... есть ли способ предотвратить это? – sam yi 26 June 2012 в 21:51
  • 2
    Вы можете использовать свойство backcolor в стиле – Christian Vielma 18 June 2013 в 19:22
Другие вопросы по тегам:

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