【发布时间】:2014-03-30 18:57:06
【问题描述】:
使用 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"],对吗?即使我在我的提取脚本中使用行?我在这里错过了什么?
【问题讨论】: