2013-03-02 4 views
0

하위 보고서가 요약 섹션에 포함 된 주 보고서가 있습니다. 내가 원하는 것은 bill이라는 데이터베이스에 열이없고 열을 표시하려는 것입니다. (즉, where의 where 절에서 billno = 'something'이어야합니다.) 행과 일치하지 않는 행을 표시하고 싶습니다.jasper 보고서 하위 보고서가 작동하지 않음 (데이터베이스의 데이터를 표시하지 않음)

현재 주 보고서의 매개 변수를 하위 보고서로 전달 중입니다. 그러나 여전히 그것의 은 작동하지 않습니다.

주 보고서 :

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="SwastikReport" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
    <property name="ireport.zoom" value="1.5"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="411"/> 
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> 
     <defaultValueExpression><![CDATA["E:\\reports\\"]]></defaultValueExpression> 
    </parameter> 
<subreport> 
       <reportElement x="438" y="56" width="109" height="100"/> 
       <subreportParameter name="billoflading"> 
        <subreportParameterExpression><![CDATA[$F{billofladingno}]]></subreportParameterExpression> 
       </subreportParameter> 
       <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
       <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "SwastikReport_subreport.jasper"]]></subreportExpression> 
      </subreport> 
</jasperReport> 

하위 보고서 :

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="SwastikReport_subreport" language="groovy" pageWidth="555" pageHeight="802" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" whenResourceMissingType="Error"> 
    <property name="ireport.zoom" value="1.5"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
<parameter name="billoflading" class="java.lang.String"> 
    <defaultValueExpression><![CDATA[]]></defaultValueExpression> 
</parameter> 
    <queryString> 
     <![CDATA[select * from declaredvaluedetails d where d.billofladingno='$P{billoflading}']]> 
    </queryString> 
    <field name="billofladingno" class="java.lang.String"/> 
    <field name="bookingno" class="java.lang.String"/> 
    <field name="freightcharges" class="java.math.BigDecimal"/> 
    <field name="ratedas" class="java.lang.String"/> 
    <field name="per" class="java.math.BigDecimal"/> 
    <field name="rate" class="java.math.BigDecimal"/> 
    <field name="prepaid" class="java.math.BigDecimal"/> 
    <field name="collect" class="java.math.BigDecimal"/> 
    <field name="currencyrateofexchange" class="java.math.BigDecimal"/> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <detail> 
     <band height="37" splitType="Stretch"> 
      <textField> 
       <reportElement x="33" y="14" width="82" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{freightcharges}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="120" y="14" width="72" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{ratedas}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="196" y="14" width="32" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{per}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="230" y="14" width="68" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{rate}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="299" y="14" width="82" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{prepaid}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="383" y="14" width="82" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{collect}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="468" y="14" width="81" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{currencyrateofexchange}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
</jasperReport> 

그것은 주 보고서에 널 (null)이 표시됩니다.

답변

0

나는 해결책을 가지고있다 ... 해결책은 주 보고서에서 전달 된 매개 변수에 하위 보고서 매개 변수를 매핑해야한다는 것이 었습니다.

하위 보고서

** 

<parameter name="billoflading" class="java.lang.String"> 
     <defaultValueExpression><![CDATA[$P{billoflading}]]></defaultValueExpression> 
    </parameter> 

**

관련 문제