1

我对JasperReports相当陌生,并且在从MongoDB正确显示列表数据时遇到了挑战。

我正在写一篇文章,但似乎无法让它发挥作用。

我在MongoDB中有以下集合:

{ "_id" : ObjectId("51e24462945f8796ea8e731d"), "id" : "1001", "cust" : "abc", "
lines" : [      {       "line number" : "line1",        "product" : "ProdA" },
{       "line number" : "line2",        "product" : "ProdB" } ] }
{ "_id" : ObjectId("51e246fb945f8796ea8e731e"), "id" : "1002", "cust" : "abc", "
lines" : [      {       "line number" : "line1",        "product" : "ProdA" },
{       "line number" : "line2",        "product" : "ProdB" } ] }

“行”是一个集合。

iReport中,它显示为一个列表,这很好。但是,当我按照文章的建议进行操作并将子数据源更改为 时new net.sf.jasperreports.engine.data.JRMapCollectionDataSource($F{lines}),我仍然将List作为字符串,它只是显示为

[[line number : line1, product: ProdA],[line number : line2, product: ProdB]]

不应该使用这个JRMapCollectionDataSource为我解析这个吗?如果没有,我该如何处理?

4

2 回答 2

0

您是否尝试过使用字段名称“lines.line number”和“lines.product”访问列表数据?这可能会奏效。

于 2013-07-15T14:20:49.153 回答
0

我想通了。您必须创建一个空数据集,然后从那里将字段映射到 ${lines} 数组。对于任何发现自己和我一样困境的人,我强烈建议阅读作者在文章中放入的示例 JRXML 文件(我一开始没有注意到的东西)。

谢谢

于 2013-07-15T22:46:22.193 回答