将参数从一个子数据集传递到 BIRT 报告中的另一个子数据集

Pass parameter from one child dataset to another child data set in BIRT report

我想知道如何将参数从子数据集传递到另一个子数据集。例如,我在 BIRT 报告中有 5 个数据集,我将参数从主数据集传递到 4 个数据集,但是对于第 5 个数据集,我想从第 4 个数据集而不是主数据集传递参数。请让我知道我们如何实现它。我在 open 方法中尝试了以下方法,但它没有用。

 where joblabor.jpnum =? 
 childDataSet.setQuery(sqlText);
 childDataSet.setQueryParameterValue(1, rows[1]["jpnum"]);

只需更改您的布局结构:

List/Table Main
  List/Table Child1
  List/Table Child2
  List/Table Child3
  List/Table Child4
  List/Table Child5

对此:

List/Table Main
  List/Table Child1
  List/Table Child2
  List/Table Child3
  List/Table Child4
    List/Table Child5

请注意 Child5 现在是 Child4 的 child。

或者,您可以这样做:

List/Table Main
  Dynamic Text Item bound to Child4 -- hidden, sets a report variable 
  List/Table Child1
  List/Table Child2
  List/Table Child3
  List/Table Child4
  List/Table Child5 -- uses the report variable

无论如何,您的数据模型要求 Child 4 的查询最多 return 一行。