Jasper报告数据过滤

时间:2011-09-29 14:18:36

标签: jasper-reports

我正在使用jasper报告,通过JRMapCollectionDataSource提供数据。具体来说,每一行都是这样的:

{"id"->"21552", "name"->"", "date"->"22.03.2013"}

现在我需要在报告中仅包含那些id大于10的记录。我该怎么办?

我发现了filterexpression标记,但它只适用于子数据集。那么,我如何将它应用到主数据集?

当我尝试将filterexpression置于jasperReport标记内时,iReports会失败并显示错误: 非常感谢您的回复,我试过这样做。我报告给了我

  

exception:org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:找到以元素'property'开头的无效内容。其中一个“{”http://jasperreports.sourceforge.net/jasperreports“:群组,”http://jasperreports.sourceforge.net/jasperreports“:后台,”http://jasperreports.sourceforge.net/jasperreports“:标题,”http://jasperreports.sourceforge.net/jasperreports“:pageHeader,”http://jasperreports.sourceforge.net/jasperreports “:columnHeader,”http://jasperreports.sourceforge.net/jasperreports“:详情,”http://jasperreports.sourceforge.net/jasperreports“:columnFooter,”http://jasperreports.sourceforge.net/jasperreports“:pageFooter,”http://jasperreports.sourceforge.net/jasperreports“:lastPageFooter,”http://jasperreports.sourceforge.net/jasperreports “:摘要,”http://jasperreports.sourceforge.net/jasperreports“:noData}'是预期的。

1 个答案:

答案 0 :(得分:2)

过滤器表达式不仅限于子数据集。只需将filterExpression标记放在jasperReport标记内,它就会应用于主数据集。

看来,安置很重要。过滤器表达式必须在任何内容之前,但在声明字段之后。