2

我正在BIRT中构建我的第一份报告。

很快我遇到了一个问题,我想根据一个表达式显示一些文本或数据,该表达式包含来自两个不同表的数据(不是可以/应该连接的表-(假设示例-从他的记录中获取学生的 ACT 分数)在学生表中,并将其与统计表的 ACT 统计条目进行比较。我很快意识到数据元素必须绑定到数据集(只有其中一个。)

我在 BIRT 邮件列表中发现了一个类似的问题,它帮助我找到了解决方案——我可以将单个数据元素绑定到不同的数据集,但它仍然可以访问其容器的元素。我可以将参数发送到元素绑定到的数据集(例如我上面提到的示例中的“ACT”)。

然而,最终,我来到了一个需要使用来自三个不同表的数据的地方。我被困在这里,我假设有一种方法可以通过脚本能力来做到这一点,但我还没有在文档中看到一种从数据集中提取数据的方法——到目前为止我处理的一切都是与将报表元素绑定到数据集相关联。

需要明确的是,我已经看到我可以将 JavaScript 函数添加到顶级报告的初始化部分(并从数据元素中的表达式调用它们),但我看不到如何在脚本中查询我的任何数据集——而不是仅与绑定到我的数据元素的数据集交互)。

如何从 BIRT 中的 JavaScript 访问任意(尽管已经定义)数据集?(或者我怎样才能从一个元素访问两个以上的数据集——一个是它绑定的,一个是它的容器绑定的?)

4

2 回答 2

2

我已经有一段时间没有尝试这样做了。立即想到的答案是您需要将第三个数据集放入表中(可以将可见性设置为 false),并且您需要将表值填充到 GlobalValue。然后您可以通过脚本从数据控件中获取 GlobalValues。

我知道它不漂亮。周末我会看看,看看 2.3 是否添加了任何使这更容易的功能。

于 2008-09-26T20:35:42.567 回答
1

使用

this.getValue()
这将返回当前列的绑定值而不是
数据集行[“运行”]

于 2011-02-04T15:49:35.400 回答