Я плохо знаком с JasperReports. Я разрабатываю отчет с помощью iReport. Мое требование, у меня есть два значения (Поля) x, y для сравнения. Если x <y затем цвет данных для y должен быть изменен на 'черный цвет', и, если больше затем цвет данных y должен быть изменен на 'красный'.
Совет меня относительно того, как продолжить двигаться на этом и где проверить.
Обсуждение на форумах JasperForge по этой теме, это, вероятно, самая важная часть:
Сначала дважды перетащите поле, для которого вы хотите получить динамический цвет. Измените цвет фона для первого поля на желтый, а второго поля на красный. Теперь щелкните правой кнопкой мыши желтое поле, выберите «Свойства», выберите вкладку «Общие» и напишите этот код в поле «Печатать при выражении»: (не забудьте заменить myconditionalfield на свое фактическое имя поля) $ F {MyConditinalField} .intValue ()> = 5 && $ F {MyConditinalField} .intValue () <10? Boolean.TRUE: Boolean.FALSE // если> = 5 и <10, то отображать желтое поле // Код для красного поля в том же месте, как указано выше $ F {MyConditinalField} .intValue ()> = 10? Boolean.TRUE: Boolean.FALSE Надеюсь, это поможет.
Это не совсем то, что вам нужно, но, вероятно, достаточно близко, чтобы подтолкнуть вас в правильном направлении.