我看过很多文章和文章,但其中很多看起来很旧或难以阅读。
我用一堆子参数创建了一个报告。我保存了它,创建了一堆具有相同名称的输入控件,并将其保存到 jasper 服务器。所以现在我知道它不是那么简单,我知道你必须在主报告中创建这些参数并以某种方式链接它们。
我尝试创建具有相同名称的参数,我尝试使用默认表达式来使用主要参数,我尝试使用表的数据集属性中的参数按钮添加所有参数。
我不知道从这里去哪里。如何链接主要数据集参数以及与我的表关联的数据集的参数。
我看过很多文章和文章,但其中很多看起来很旧或难以阅读。
我用一堆子参数创建了一个报告。我保存了它,创建了一堆具有相同名称的输入控件,并将其保存到 jasper 服务器。所以现在我知道它不是那么简单,我知道你必须在主报告中创建这些参数并以某种方式链接它们。
我尝试创建具有相同名称的参数,我尝试使用默认表达式来使用主要参数,我尝试使用表的数据集属性中的参数按钮添加所有参数。
我不知道从这里去哪里。如何链接主要数据集参数以及与我的表关联的数据集的参数。
您使用的是 Jaspersoft Studio,对吗?
如果是这样,请选择您的表。在“属性”框(通常在右下角)中,如果您选择“数据集”选项卡并滚动到它的末尾,您可能会注意到一个“参数”按钮。在那里,您可以将表达式映射到您在表数据集中使用的每个参数。因此,在这些表达式中,您可以使用在主报告中声明的参数。
在您的 JRXML 文件中,它类似于(对于java.lang.String
参数):
...
<parameter name="MAIN_REPORT_PARAMETER" class="java.lang.String"/>
...
<subDataset name="Dataset1">
...
<parameter name="DATASET_PARAMETER" class="java.lang.String"/>
...
</subDataset>
...
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="Dataset1">
<datasetParameter name="DATASET_PARAMETER">
<datasetParameterExpression><![CDATA[$P{MAIN_REPORT_PARAMETER}]]></datasetParameterExpression>
</datasetParameter>
...
</datasetRun>
...
</jr:table>