我正在使用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}'是预期的。
答案 0 :(得分:2)
过滤器表达式不仅限于子数据集。只需将filterExpression
标记放在jasperReport
标记内,它就会应用于主数据集。
看来,安置很重要。过滤器表达式必须在任何内容之前,但在声明字段之后。