我创建了一个带有图像的碧玉报告,并在该图像的顶部创建了一组小椭圆/圆。小圆圈的颜色必须根据用于生成报告的数据进行更改。所以我创建了一个样式并将该样式应用于椭圆元素。这是我的风格:
<style name="ZFieldStyle">
<conditionalStyle>
<conditionExpression><![CDATA[$F{value} < 2L]]></conditionExpression>
<style backcolor="#00ff00"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{value} > 2L]]></conditionExpression>
<style backcolor="#FF0000"/>
</conditionalStyle>
</style>
以下是我将其应用于椭圆的方法:
<ellipse>
<reportElement style="ZFieldStyle" mode="Opaque" x="285" y="47" width="17" height="17" forecolor="#FF00FF" >
</reportElement>
</ellipse>
但我想将圈子与不同的数据元素相关联,以便在应用条件样式时,所考虑的值是与该国家/地区相关的值。
供您参考,传递的数据是包装国家/地区实例列表的JRDataSource。
实例1。 NAME = “加拿大”; 值= 0;
实例2。 NAME = “美” 值= 3;
...等。 值字段决定了在图像顶部的圆圈上显示的颜色。
我怎样才能在Jasper中做到这一点?
NB。所有圈子都会显示在报告中。 (没有隐藏)问题是将位于(x = 34,y = 90)位置的第i个圆绑定到特定数据项并将其颜色为c, 第j个圆位于特定数据项的位置(x = 8,y = 12),颜色为d ......等。 其中c,d是颜色。
我有一个mvn + java + jasper项目,我在这里测试:它有3个数据项和3个圆已放置在图像顶部的标题部分。
https://drive.google.com/file/d/0B5GhWVO8BNlcVlNaRHpodm1Hd0k/edit?usp=sharing
答案 0 :(得分:1)
在初始时将所有椭圆设置在其位置。并且对于每个椭圆设置“基于您的值打印表达式”。 e.g:
<ellipse>
<reportElement uuid="7c0a9248-b2a1-43ea-b329-ff2212845b4b" x="323" y="0" width="109" height="45" backcolor="#EF4141">
<printWhenExpression><![CDATA[$F{value} == 3]]></printWhenExpression>
</reportElement>
</ellipse>
希望它会对你有所帮助。