java - 贾斯珀报告,其中包含世界地图和不同颜色的圆圈,覆盖在不同国家的顶部

标签 java jasper-reports report ireport

enter image description here

我创建了一个碧 Jade 报告,其中包含该图像和该图像顶部的一组小椭圆/圆形。小圆圈的颜色必须根据用于生成报告的数据而变化。所以我创建了一个样式并将该样式应用于椭圆元素。这是我的风格:

<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>

但我想将圆圈与不同的数据元素相关联,这样当应用条件样式时,所考虑的值就是属于该国家/地区的值。

供您引用,传递的数据是包装 Country 实例列表的 JRDataSource。

实例 1。 名称=“加拿大”; 值=0;

实例 2。 名称=“美国” 值=3;

..等等。 字段规定图像顶部圆圈上显示的颜色。

我怎样才能在贾斯珀做到这一点?

注意。所有圆圈都会显示在报告中。 (没有隐藏)问题是将位置 (x=34,y=90) 处的第 i 个圆绑定(bind)到特定数据项并将其着色为 c, 将位于 (x=8, y=12) 位置的第 j 个圆指定为特定数据项,并将其着色...等等。 其中 c、d 是颜色。

我有一个 mvn + java + jasper 项目,我正在此处进行测试:它有 3 个数据项和 3 个圆圈,已放置在图像顶部的标题部分中。

https://drive.google.com/file/d/0B5GhWVO8BNlcVlNaRHpodm1Hd0k/edit?usp=sharing

最佳答案

将所有椭圆设置在初始时间的位置。并根据您的值,为每个椭圆设置“表达式时打印”。例如:

<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>

希望对您有帮助。

关于java - 贾斯珀报告,其中包含世界地图和不同颜色的圆圈,覆盖在不同国家的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21463765/

相关文章:

java - 使用 bat 文件编辑 Deployment.properties 文件

java - 尝试使用 java 中的循环在数组中创建 100 个对象

jasper-reports - 如何从 jasper 报告设计器中的参数设置背景颜色

java - 从数据库创建 Jasper 文件时出错

vba - 具有动态改变文本框大小的 Access 报告

reporting-services - 有没有办法在 SSRS 参数窗口中有一个重置按钮?

java - 为什么我的 java 程序在编译时出现 "cannot find symbol"错误?

java - RxJava2、Retrofit - doOnNext、doAfterNext、doOnComplete 不调用

java - 在碧 Jade 报告中将整个 sql 查询作为参数传递

validation - 报表参数验证