IAm*_*aja 5 java reporting jasper-reports ireport
我是JasperReports的新手,我正在慢慢地通过基础测试.我有一种情况,我不想用DB驱动的数据填充饼图(通过所谓的数据源).我想提供从运行时传递到JasperFillManager的Java哈希映射填充饼图所需的所有信息.
这将包括用于在饼图中标记切片,设置其颜色以及定义其权重/值(切片大小)的参数.所以,在我的Java代码中,我会写一些类似的东西:
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);
Run Code Online (Sandbox Code Playgroud)
我想在这里实现的目标是拥有一个包含2个切片的饼图; 一个红色的"红队"切片占据了67%的份额,蓝色的"蓝队"切片占33%.
我现在需要帮助在我的hashmap和JRXML/JasperDesign之间"连接点".
有人可以告诉我(或只是帮助指导我)<pieChart>我需要编写什么样的JRXML才能让我的jrParamhashmap用运行时参数填充饼图?我已经在下面做了一个最好的尝试,但我只是在努力完全理解这一切.
<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>
Run Code Online (Sandbox Code Playgroud)
在此先感谢任何帮助/澄清!
zharvey,
由于您是JasperReport的新手,我希望您使用的是iReport Designer工具.从iReport设计器具有的一个示例模板设计饼图,然后尝试研究生成的JRXML.在进入iReport-> Help-> Samples-> Charts时,您可以看到一个非常简单的示例
我的第二个提示是使用java bean或POJO作为数据源(仅基于您发布的代码).我正在查看您创建字符串标签,颜色和值的示例代码.如果你有一个普通的旧java bean类,并将所有这三个属性作为实例变量,那么这不是很好吗?您的报告也很容易,因为您可以创建一个bean对象集合,可以通过JRBeanDataSource轻松访问和使用它们.我觉得它会让你的代码更清洁,更容易维护.问候!
| 归档时间: |
|
| 查看次数: |
10949 次 |
| 最近记录: |