【发布时间】:2011-11-10 17:00:48
【问题描述】:
我是 JasperReports 的新手,并且正在慢慢地学习基础知识。我有一种情况,我不想用数据库驱动的数据(通过所谓的数据源)填充饼图。我想提供从运行时传递到 JasperFillManager 的 Java hashmap 填充饼图所需的所有信息。
这将包括用于在饼图中标记切片、设置其颜色以及定义其权重/值(切片大小)的参数。所以,在我的 Java 代码中,我会写 something 比如:
HashMap<String,Object> jrParams = new HashMap<String,Object>();
jpParams.put("slice_1_label", "Red Team");
jpParams.put("slice_1_color", Color.RED);
jpParams.put("slice_1_value", 67.0);
jpParams.put("slice_2_label", "Blue Team");
jpParams.put("slice_2_color", Color.BLUE);
jpParams.put("slice_2_value", 33.0);
// ... some other code
JasperFillManager.fillReport(jasperDesign, jrParams);
我在这里试图实现的目标是制作一个包含 2 个切片的饼图;红色的“红队”切片占馅饼的 67%,蓝色的“蓝队”切片占 33%。
我现在需要帮助在我的 hashmap 和 JRXML/JasperDesign 之间“连接点”。
有人可以告诉我(或只是帮助指导我)我需要编写什么样的<pieChart>JRXML 才能让我的jrParam 哈希图用运行时参数填充饼图?我在下面做了最好的尝试,但我只是在努力完全理解这一切。
<pieChart>
<chart isShowLegend="true">
<reportElement x="10" y="10" width="300" height="300"/>
<chartTitle>
<titleExpression><![CDATA[My First JR Pie Chart]]></titleExpression>
</chartTitle>
</chart>
<pieDataset>
<!-- Here is where I believe I need to put my two slices; not sure how -->
</pieDataset>
<piePlot>
<plot backcolor="#8BA870"/>
<itemLabel color="#000000"/>
</piePlot>
</pieChart>
提前感谢任何帮助/澄清!
【问题讨论】:
标签: java reporting jasper-reports ireport