Я пытаюсь привыкнуть к iReport
, прежде чем использовать его в реальном проекте на следующей неделе, и, похоже, я уже где-то застрял. Я использую iReport
3.7.0 на платформе Windows XP + Java 1.6
Кажется, легко изменить цвет поля в зависимости от того, что оно содержит, или вычислить сумму чисел в поле на основе условий, но на практике это занимает у меня слишком много времени. У меня есть запрос:
SELECT COUNT(gender) AS total_by_gender, gender, account_status FROM user_account ua, user_profile up WHERE ua.user_profile_id=up.user_profile_id GROUP BY gender,account_status
это дает мне что-то вроде этого:
| total_by_gender | gender | account_status | | 160 |Female | ENABLED | | 26 |Female | UNCONFERIMED | | 100 |Male | ENABLED | | 10 |Male | UNCONFIRMED |
Теперь я хочу, чтобы ENABLED
текст выглядел, скажем, green
, а UNCONFIRMED
сказал "красный". Для этого я добавил текстовое поле с этим выражением
$F{account_status}.equals( new String("ENABLED") ) ? "<style forecolor='#ff0000'>" + $F{account_status}.toString() + "</style>" :"<style forecolor='#999999'>" + $F{account_status}.toString() + "</style>"
//i've tried this too
$F{account_status}.contentEquals( new String("ENABLED") ) ?
//and even
($F{account_status}.toString =="ENABLED" ) ?
ну, для каждого из них он дает мне что-то вроде одного и того же текста, например <style>
(я думаю, что он печатает все выражение условия) вместо цветного текста unconfirmed
или enabled
.
Моя вторая проблема заключается в том, что я хочу сделать сумму всех unconfirmed
и всех enabled
. я могу сделать обычное выражение суммы, но с условием я понятия не имею. Кто-нибудь может пролить свет? Спасибо за прочтение