【问题标题】:Field Expression in iReportiReport 中的字段表达式
【发布时间】:2012-01-31 00:39:07
【问题描述】:

我正在努力让自己习惯iReport,然后在下周的实际项目中使用它,我似乎已经在某个地方堆积如山了。我在 Windows XP 平台 + Java 1.6 上使用 iReport 3.7.0

根据字段包含的内容更改字段颜色或根据条件计算字段中的数字总和听起来很容易,但实际上我需要花费太多时间才能完成。 我有一个问题说:

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 |性别 |帐户状态 | | 160 |女 |启用 | | 26 |女 |未确认 | | 100 |男 |启用 | | 10 |男 |未确认 |

现在我想让ENABLED Text to Look 说greenUNCONFIRMED 说“红色”。为此,我添加了一个带有此表达式的文本字段

$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"  ) ?

对于他们每个人来说,它给了我类似&lt;style&gt; 的相同文本(我认为它正在打印所有条件表达式)而不是彩色文本unconfirmedenabled

我的第二个问题是我想做所有unconfirmed 和所有enabled 的总和。我可以做正常的求和表达式,但有条件我不知道。 任何人都可以解释一下吗?感谢阅读

【问题讨论】:

    标签: java groovy jasper-reports ireport


    【解决方案1】:

    试试这个。定义如下样式。

         <style name="myStyle" isDefault="false" mode="Transparent">
              <conditionalStyle>
                  <conditionExpression><![CDATA['YOUR CONDITION']]></conditionExpression>
                  <style isDefault="false" style="myStyle" backcolor="#E6DAC3"/>
              </conditionalStyle>
         </style>
    

    并在你的 textFieldExpression 中使用它

         <reportElement style="myStyle" x="1" y="0" width="100" height="15"/>
    

    【讨论】:

      【解决方案2】:

      这里有两个问题。 1.您的条件语句不起作用。试试 $F{account_status}.equals("ENABLED")。它会起作用的。 2.您想根据某些条件为文本着色。检查 iReport 是否支持文本字段的条件着色。如果有,尽量不要用颜色信息污染内容()。颜色信息必须在文本字段上,而不是文本字段的内容上。 请给出您正在使用的完整文本字段定义。

      我明天自己试试。

      【讨论】:

      • 好的,我昨天为其他目的工作了条件,放弃了文本字段的着色。在我对谷歌的研究期间,我只看到我发布的内容,但我也注意到它适用于旧版本。获得 ireport 3.7.0 或仅版本 3 的此类信息似乎很少见。感谢您的回复
      • 那么你解决了着色问题还是条件和?还是两者兼而有之?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多