Jasper reports jasper中按参数值分组
嗯,我不知道,也许我遗漏了什么,但我一直试图在jasper报表中对数据进行分组,但到目前为止,只有当组表达式是字段时,才会显示分组。是否可以按参数值而不是字段值对数据进行分组?i、 比如Jasper reports jasper中按参数值分组,jasper-reports,reporting,Jasper Reports,Reporting,嗯,我不知道,也许我遗漏了什么,但我一直试图在jasper报表中对数据进行分组,但到目前为止,只有当组表达式是字段时,才会显示分组。是否可以按参数值而不是字段值对数据进行分组?i、 比如 <groupExpression><[!CDATA[$P{some_param}]]></groupExpression> 而不是 <groupExpression><[!CDATA[$F{some_field}]]></groupExpres
<groupExpression><[!CDATA[$P{some_param}]]></groupExpression>
而不是
<groupExpression><[!CDATA[$F{some_field}]]></groupExpression>
在.jrxml文件中
是否可以按参数值而不是字段值对数据进行分组
是的,就像你提到的。您将不会有语法错误,并且将生成报告
问题是它可能不会带来你所期望的。组标注栏通常在每次更改groupExpression时打印。因此,基本上,该参数需要与报表生成过程中会发生变化的内容相关联,例如,用字段填充子报表的参数,子报表使用该参数作为组表达式。当然,它需要与一些有意义的东西联系起来,给你带来想要的行为
您可以在子报表中包含以下内容:
...
<parameter name="START" class="java.util.Date"/>
<parameter name="END" class="java.util.Date"/>
...
在你的超级报告的一个细节部分:
<subreport>
<reportElement x="0" y="10" width="555" height="200" uuid="ac2c99da-f595-4498-a518-2bfb1f31b73c"/>
<subreportParameter name="START">
<subreportParameterExpression><![CDATA[$F{start}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="END">
<subreportParameterExpression><![CDATA[$F{end}]]></subreportParameterExpression>
</subreportParameter>
...
</subreport>
请注意,我假设字段$F{end}和$F{start}也是java.util.Date对象。我可能错了,但是组引用数据,因此使用字段是有意义的,而参数则没有意义,因为无法判断参数是否属于某些数据。