2016-08-16 84 views
0

我已經創建了主報表,並且我正在添加一個使用「Web服務數據源」的子報表,根據documentation。我用下面的指令掙扎:如何傳遞參數到一個子報表

在報表配置(或數據集)指定不使用任何 連接所有(留空兩者的連接表達和 數據源表達我們」的唯一的事情。馬上要做的是通過一些 強制參數用於內部Web服務數據源工作 正確:

  • uriKey
  • authTypeKey
  • authParametersKey
  • languageKey
  • verbKey

我已經制定了主報告和報表的參數。

uthParametersKey,languageKey,verbKey是java.lang.Object。那麼,我應該寫入「默認值表達式」?

enter image description here

這裏是我的源與參數:

<parameter name="authTypeKey" class="java.lang.String"> 
    <defaultValueExpression><![CDATA["none"]]></defaultValueExpression> 
</parameter> 
<parameter name="authParametersKey" class="java.lang.Object" isForPrompting="false"/> 
<parameter name="languageKey" class="java.lang.Object"> 
    <defaultValueExpression><![CDATA["xml"]]></defaultValueExpression> 
</parameter> 
<parameter name="verbKey" class="java.lang.Object"> 
    <parameterDescription><![CDATA[]]></parameterDescription> 
    <defaultValueExpression><![CDATA["get"]]></defaultValueExpression> 
</parameter> 
<parameter name="Request" class="java.lang.String"> 
    <defaultValueExpression><![CDATA["<id>12</id>"]]></defaultValueExpression> 
</parameter> 
+1

默認值表達式是該參數將有什麼樣的價值,如果它不通過(因此通常僅在調試模式下使用),因此你不需要設置它,或者您可以將其設置爲某個默認值,以測試您的報告而不傳遞參數 –

回答

0

這些參數Strings,沒有Objects。另外,由於這些報表正在從主報表中填充,因此您不需要任何默認值,因爲您需要報表中的主報表的值。

編輯

這些參數是特定類型的對象,所有Strings正如我剛纔想。從文檔:

您也可以直接傳遞整個parametersMap爲了您的方便。

所以這也可能是一種可能的方式。同樣,你不需要默認值。

+0

恐怕它是java.lang.Object。我需要以某種方式通過它們。爲了簡潔起見,我將這些參數檢查爲「爲了提示」,但由於verbKey和languageKey是java.lang.Object,我無法填充它。如果我爲他們像「get」,「xml」(這是我需要傳遞)那樣的Defail Value,會發生錯誤:「... java.lang.String不能轉換爲com.jaspersoft.webservice.data。 enumerations.LanguageType」 –

0

例如通過參數應用在JRXML代碼子報表:

<subreport> 
<reportElement positionType="Float" x="0" y="0" width="555" height="1" isRemoveLineWhenBlank="true"/> 
<subreportParameter name="paramInSuberport"> 
<subreportParameterExpression><![CDATA[$P{param}]]></subreportParameterExpression> 
</subreportParameter> 
<dataSourceExpression><![CDATA[yourDataSource()]]></dataSourceExpression> 
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "subreportFile.jasper"]]></subreportExpression> 
</subreport> 
相關問題