iReport:将参数从主报表查询传递到表或列表的数据集查询

tod*_*odb 20 parameters jasper-reports ireport

我理解如何将参数从主报表传递到子报表,因为在子报表对象中有一个特定的字段.但是,我想将表或列表对象作为使用者(而不是子报表)执行相同的操作.可能吗?

例如,假设我有一个'customerID'参数,我可以用主报表查询填充,但我似乎无法将此参数传递给表的数据集的SQL查询.

我已经尝试过,并继续尝试各种参数,字段和变量的组合,但无济于事.

这种事情是否需要子报告实现?

(如果重要且不明显,我正在使用JDBC)

Oua*_*die 22

要通过从参数主要报告表格或列表数据源的iReport 3.6.7+,你需要做以下步骤:

1)通过右键单击主报表的参数部分在主报表中创建所需的参数------>添加参数-------->将新添加的参数的属性(数据类型)设置为想要的.

2)在表/列表的数据源的参数部分中创建与步骤1完全相同的参数.

3)从report explorer,右键单击表单击Edit Table DataSet ------> 选择参数选项卡 -----------> 点击添加 ------- ---> 从上面的组合中选择参数(在步骤1中数据集的参数部分中创建)(即数据集参数名称)------>然后单击下方按钮(即)分配值表达式,即参数您在步骤1中添加的.

来源:http://hamroblog-sristi.blogspot.fr/2011/04/passing-parameters-from-main-report-to.html


Los*_*ode 12

不知道你正在使用什么版本,但我能够在iReport 3.7.6中完成.

首先,我将参数添加到数据集中.

然后,要将值传递给参数,请右键单击Report Inspector中的Table,选择"Edit table datasource".转到"参数"选项卡.每个数据集参数都可以从主报表中的参数,字段或变量中获取其值.


Gor*_*don 0

我做了一个快速测试报告来复制你正在做的事情并且它有效。

这是我采取的步骤。

  • 在报告中创建一个参数,例如 customerID

  • 将其传递到哈希图中的主报告。

    hashmap.put("customerID", "12345");

  • 在报告中将属性设置The language of for the dataset querySQL

  • 将属性设置Query text为类似于下面的内容。

    select * from * customers c where c.ID=$P{customerID}