我正在 BIRT 中构建我的第一份报告.
很快我就遇到了一个问题,我想根据一个表达式显示一些文本或数据,其中包含来自两个不同表的数据(不是可以/应该连接的表 - (假设的例子 - 以学生的 ACT 分数为例)从他在学生表中的记录并将其与 ACT 统计数据的统计表条目进行比较)。我很快意识到数据元素必须绑定(bind)到数据集(只有其中一个)。
我找到了similar question在 BIRT 邮件列表中,它帮助我找到了解决方案 - 我可以将单个数据元素绑定(bind)到不同的数据集,但它仍然可以访问其容器的元素。我可以将参数发送到元素绑定(bind)到的数据集(例如上面提到的示例中的“ACT”)。
最终,我来到了一个需要使用来自三个不同表的数据的地方。我被困在这里,我假设有一种方法可以通过脚本能力来做到这一点,但我还没有在文档中看到一种从数据集中提取数据的方法 - 到目前为止我处理过的所有内容都是与将报表元素绑定(bind)到数据集相关联。
需要明确的是,我已经看到我可以将 JavaScript 函数添加到顶级报告的初始化部分(并从数据元素中的表达式调用它们),但我不知道如何在脚本中查询我的任何数据集——而不是仅与绑定(bind)到我的数据元素的数据集交互)。
如何从 BIRT 中的 JavaScript 访问任意(尽管已经定义)数据集? (或者我如何从一个元素访问两个以上的数据集 - 一个是它绑定(bind)到的,另一个是它的容器绑定(bind)到的?)
最佳答案
我已经有一段时间没有尝试这样做了。立即浮现在脑海中的答案是,您需要将第三个数据集放入表中(可以将可见性设置为 false),并且需要将表值填充到 GlobalValue。然后您可以通过脚本从数据控件中获取 GlobalValues。
我知道这并不漂亮。我将在周末查看 2.3 是否添加了任何使这变得更容易的功能。
关于javascript - 在 BIRT 中,如何从 JavaScript 访问任意数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/140743/