gpt4 book ai didi

java - 无法使用脚本数据集产生的行数据

转载 作者:太空宇宙 更新时间:2023-11-04 06:55:54 25 4
gpt4 key购买 nike

使用 BIRT 执行测试,我能够创建报告并将其呈现为 PDF,但不幸的是我没有得到预期的结果。

对于我的数据源,我创建了一个脚本数据源,其中不需要任何代码(据我所知,文档可以实现我想要做的事情)。

对于我的数据集,我使用脚本数据源作为源创建一个脚本数据集。在那里我定义了打开脚本,例如:

importPackage(Packages.org.springframework.context);
importPackage(Packages.org.springframework.web.context.support);

var sc = reportContext.getHttpServletRequest().getSession().getServletContext();

var spring = WebApplicationContextUtils.getWebApplicationContext(sc);

myPojo = spring.getBean("myDao").findById(params["pojoId"]);

以及用于获取的脚本,例如:

if(myPojo != null){
row["title"] = myPojo.getTitle();
myPojo = null;
return true;
}
return false;

由于 row 的填充将在运行时完成,因此我无法自动获取 DataSet 列,因此我使用以下配置创建了一个: name: columnTitle (因为这是用于在获取代码中填充行对象的名称)。

之后,我编辑了报告的布局并将该列添加到我的布局中。

我能够确认 spring.getBean("myDao").findById(params["pojoId"]); 已执行。但我渲染的报告没有显示标题。如果我双击报表布局上的列标签,我可以看到表达式是 dataSetRow["columnTitle"] 是吗?即使我在获取脚本中使用行?我在这里缺少什么?

最佳答案

那么,contractVersion 是什么?它显然没有在 open 事件中初始化。这应该是 myPojo.contractVersion 还是 myPojo.getContractVersion()

还有一点:“columnTitle”列的DS是否绑定(bind)到布局上?

您还应该以 HTML 形式运行报告或在预览器中运行报告以检查脚本错误。不幸的是,在生成 PDF 格式的报告时,这些内容会被默默地忽略...

关于java - 无法使用脚本数据集产生的行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22748366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com