2013-05-07 145 views

回答

1

任何錯誤消息,堆棧跟蹤或東西:在Java

<subreportExpression class="java.io.InputStream"><![CDATA[$P{SUBREPORT}]]>/subreportExpression> 

實施例參數?

subreportExpression標記是子報表所在位置的相對路徑或完整路徑。 像這樣的東西是有效的

<subreportExpression class="java.lang.String"><![CDATA["..\jasper\subReportInvoice.jasper"]]></subreportExpression> 

<subreportExpression class="java.lang.String"><![CDATA["home\josh\jasper\subReportInvoice.jasper"]]></subreportExpression> 

當你想將參數或參數傳遞給子報表它必須在主報告中首先聲明(即報告調用子報表)就在queryString標籤之前。

<!-- This is declared before my queryString tag tag --> 
<parameter name="AGENCY_ID" isForPrompting="true" class="java.lang.Long"/> 
<parameter name="TREATPROC_SUBTYPE_ID" isForPrompting="true" class="java.lang.Long"/> 
<parameter name="PRODUCT_TYPE_CATEGORY_ID" isForPrompting="true" class="java.lang.Long"/> 

<!-- This goes into my subreport tag --> 
<subreport isUsingCache="true"> 
       <reportElement 
        mode="Opaque" 
        x="0" 
        y="20" 
        width="900" 
        height="20" 
        forecolor="#000000" 
        backcolor="#FFFFFF" 
        key="subreport-2" 
        stretchType="NoStretch" 
        positionType="FixRelativeToTop" 
        isPrintRepeatedValues="true" 
        isRemoveLineWhenBlank="false" 
        isPrintInFirstWholeBand="false" 
        isPrintWhenDetailOverflows="false"/> 
       <subreportParameter name="AGENCY_ID"> 
        <subreportParameterExpression><![CDATA[$P{AGENCY_ID}]]></subreportParameterExpression> 
       </subreportParameter> 
       <subreportParameter name="PRODUCT_TYPE_CATEGORY_ID"> 
        <subreportParameterExpression><![CDATA[$P{PRODUCT_TYPE_CATEGORY_ID}]]></subreportParameterExpression> 
       </subreportParameter> 
       <subreportParameter name="TREATPROC_SUBTYPE_ID"> 
        <subreportParameterExpression><![CDATA[$P{TREATPROC_SUBTYPE_ID}]]></subreportParameterExpression> 
       </subreportParameter> 
       <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
       <subreportExpression class="java.lang.String"><![CDATA["..\jasper\subReportInvoice.jasper"]]></subreportExpression> 
      </subreport> 

所有子報表查詢所需的參數必須使用subreportParameter和subreportParameterExpression標籤所示在我的例子進行傳遞。

我希望這會有所幫助。

+0

我會試試這個方法。謝謝! – 2013-05-13 12:04:29