【问题标题】:BIRT - using report variable to pass data from outer to inner nested data setBIRT - 使用报表变量将数据从外部嵌套数据集传递到内部嵌套数据集
【发布时间】:2013-03-04 12:09:24
【问题描述】:

希望有人能告诉我这份 BIRT 报告有什么问题。我正在尝试使用嵌套的脚本数据集,其中外部数据集通过报表变量将数据传递给内部数据集。

我发现报告的行为与我想象的不一样。似乎报告变量正在输出每行的最后一个值。对于以下报告,我看到的输出如下:

key0
  value[9][0]
  value[9][1]
  value[9][2]
  value[9][3]
  value[9][4]

key1
  value[9][0]
  value[9][1]
  value[9][2]
  value[9][3]
  value[9][4]

....

key9
  value[9][0]
  value[9][1]
  value[9][2]
  value[9][3]
  value[9][4]

而我希望看到这个:

key0
  value[0][0]
  value[0][1]
  value[0][2]
  value[0][3]
  value[0][4]

key1
  value[1][0]
  value[1][1]
  value[1][2]
  value[1][3]
  value[1][4]

....

key9
  value[9][0]
  value[9][1]
  value[9][2]
  value[9][3]
  value[9][4]

我的(完全独立的)示例报告在这里:click to see report xml in pastebin

关键思想是在外层数据集的fetch中,我设置了report变量:

vars["values"] = value;

而内部数据集的fetch会抓取它:

values = vars["values"].iterator();

内部数据集的 fetch 将从报告变量中获取数据:

row["value"] = values.next();

【问题讨论】:

    标签: eclipse report birt


    【解决方案1】:

    您应该能够使用 dataSet 参数来执行此操作。在您的示例中,您将在外部数据集的数据集编辑器中设置输出参数。您可以将此参数的值设置为您要传递给其他数据集的值。

    在内部数据集中,您将创建一个输入参数来获取值。在您的布局中,您需要刷新外部列表上的绑定,以便输出参数是一个绑定。然后,您将转到内部列表的绑定选项卡,并选择将外部列表的输出参数绑定传递给您的输入参数。

    希望这会有所帮助。

    【讨论】:

    猜你喜欢
    • 2020-11-04
    • 2019-05-31
    • 2020-08-24
    • 2018-06-10
    • 2014-03-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 2013-10-22
    相关资源
    最近更新 更多