如何组织目录报告
对于参数等(id = 1,2 ..)
我必须得到id=1
的FRONT PAGE,然后从下一页开始,该参数的数据为id = 1。
然后,对于下一个id = 2
,我必须获取ID = 2的FRONT PAGE数据,然后从下一页开始,此参数的数据id = 2。
这是jasperstudio http://i.stack.imgur.com/pAtCv.png中的首页
和子报告:http://i.stack.imgur.com/RVRRM.png
对于route_id=200
和trafo_id in (1,2),
,我必须首页包含segment_id
的数据,然后是trafo_id =1
的表格,然后是包含trafo_id = 2
数据的首页,然后是trafo_id
的表格。
问题是,我的首页包含trafo_id =1
的数据,然后是trafo_id=2
的首页,然后是segment_id=1
的表格,表格for_segment_id=2
,然后重复所有数据(首页和表格)
jrxml 是:
</parameter>
<parameter name="billing_group" class="java.lang.Integer"/>
<parameter name="route" class="java.util.Collection"/>
<parameter name="order_string" class="java.lang.String">
<defaultValueExpression><![CDATA[$P{order_id}.toString()]]></defaultValueExpression>
</parameter>
<parameter name="from_dt" class="java.sql.Date">
<parameterDescription><![CDATA[]]></parameterDescription>
<defaultValueExpression><![CDATA[$P{from_dt}]]></defaultValueExpression>
</parameter>
<parameter name="fam_id" class="java.lang.Integer"/>
<parameter name="prva_strana" class="java.lang.Boolean">
<defaultValueExpression><![CDATA[null]]></defaultValueExpression>
</parameter>
<queryString language="SQL">...
<field name="COUNT(T.SEGMENT_ID)" class="java.math.BigDecimal"/>
<field name="ORDER_UCODE" class="java.lang.String"/>...
<variable name="COUNT(T.SEGMENT_ID)" class="java.lang.Integer" resetType="Group" resetGroup="Group1" calculation="DistinctCount">
<variableExpression><![CDATA[$F{COUNT(T.SEGMENT_ID)}]]></variableExpression>
</variable>
<group name="Group1" isStartNewPage="true" isResetPageNumber="true" keepTogether="true">
<groupExpression><![CDATA[$F{TRAFO_ID}]]></groupExpression>
<groupHeader>
<band height="720" splitType="Prevent">
<staticText>
<reportElement x="130" y="503" width="40" height="30" uuid="0c6aecad-8db9-46f6-9c63-0ecee3a70d53">
<property name="local_mesure_unitheight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="Times New Roman" size="14" isBold="true"/>
</textElement>
<text><![CDATA[DV:]]></text>
</textField>
...
<staticText>
...
<textField evaluationTime="Group" evaluationGroup="Group1">
<reportElement x="300" y="590" width="100" height="30" uuid="1f966c8a-b52a-487e-a8f9-d9bf7f1fc506"/>
<textFieldExpression><![CDATA[$V{COUNT(T.SEGMENT_ID)}]]></textFieldExpression>
...
</group>
<group name="Group2" isStartNewPage="true" isResetPageNumber="true" keepTogether="true">
<groupExpression><![CDATA[$F{SEGMENT_ID}]]></groupExpression>
<groupHeader>
<subreport>
</band>
</groupHeader>
</group>
<group name="Group3" isStartNewPage="true" keepTogether="true">
<groupExpression><![CDATA[$F{ROUTE_ID}]]></groupExpression>