2016-08-16 82 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> 
相关问题