JasperReports:在时间序列图中动态设置时间段
我目前在时间序列图内面临时间段的一些问题。JasperReports:在时间序列图中动态设置时间段
我想achiveve什么: - 用户可以选择两种日期;这些日期之间的数据将被报告 - 用户还可以在创建报告前选择时间段[年,月,日]
我试图设置时间段的方式是通过设置属性timePeriod参数如下:
<timeSeriesDataset timePeriod="$P{TimePeriod}">
但是在编译的时候,我发现了以下错误:
org.xml.sax.SAXParseException: cvc-enumeration-valid: Value '$P{TimePeriod}' is not facet-valid with respect to enumeration
'[Year, Quarter, Month, Week, Day, Hour, Minute, Second, Milisecond]'.
It must be a value from the enumeration.
我用尽了一切(例如,改变参数的数据类型,...),但我总是得到这个错误。它甚至有可能设置TIMEPERIOD动态?以及如何实现它?
在此先感谢您的帮助!
回答:
不幸的是,简短的答案是否定的。看到此功能要求http://jasperforge.org/projects/ireport/tracker/view.php?id=4629
但是,你可以做一个黑客。图表的三份副本
<band height="240"> <printWhenExpression><![CDATA["Year".equals($P{TimePeriod})]]></printWhenExpression>
<timeSeriesChart>
...
<timeSeriesDataset timePeriod="Year">
...
</band>
<band height="240">
<printWhenExpression><![CDATA["Month".equals($P{TimePeriod})]]></printWhenExpression>
<timeSeriesChart>
...
<timeSeriesDataset timePeriod="Month">
...
</band>
<band height="240">
<printWhenExpression><![CDATA["Day".equals($P{TimePeriod})]]></printWhenExpression>
<timeSeriesChart>
...
<timeSeriesDataset timePeriod="Day">
...
</band>
对不起,没有什么更清洁。
以上是 JasperReports:在时间序列图中动态设置时间段 的全部内容, 来源链接: utcz.com/qa/260220.html