2013-07-14 47 views
1

我相当新的JasperReports和我有一个挑战,获取列表数据从MongoDB正确显示。JasperReports MongoDB列表数据

我当时正在关闭article,但似乎无法使其工作。

我在的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}),我仍然得到列表作为一个字符串,它只是显示为

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

不应该使用这个JRMapCollectionDataSource已经为我解析这个了吗?如果不是,我该如何处理?

回答

0

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

+0

这是行不通的。 –

0

我想通了。您必须创建一个空数据集,然后将这些字段映射到$ {lines}数组。对于任何与自己陷入同样困境的人来说,我强烈推荐阅读作者在文章中提供的示例JRXML文件(我一开始并没有注意到这一点)。

谢谢