当前位置: 首页 > 知识库问答 >
问题:

JasperReports MongoDB列表数据

孟茂
2023-03-14

我对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中,它显示为一个列表,这很好。然而,当我按照文章的建议将子数据源更改为newnet.sf.jasperreports.engine.data.JRMapGrou

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

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


共有2个答案

林铭
2023-03-14

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

谢谢

羊舌承颜
2023-03-14

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

 类似资料:
  • 很容易将列表列表转换为数据帧: 但是我如何将df转换回列表列表呢?

  • Swoole 除了网络通信相关的函数外,还提供了一些获取系统信息的函数供PHP程序使用。 swoole_set_process_name() 用于设置进程的名称。修改进程名称后,通过ps命令看到的将不再是php your_file.php,而是设定的字符串。 此函数接受一个字符串参数。 此函数与PHP5.5提供的cli_set_process_title功能是相同的。但swoole_set_pro

  • 在 Less 中一个变量也可表示一个列表,列表用 , 分隔开, 类似于其他语言中的数组,该章节的函数就是为了操作列表所产生的,比如返回列表长度、获取指定元素的等。 4.1 length 函数 函数作用:返回值列表中的元素个数。 参数:list 用逗号或空格分隔的值列表。 返回值: 列表中元素的整数。 语法: length(list) => value 输入代码 @list: "banana", "

  • 我如何将一个简单的列表转换成一个Numpy数组?这些行是单独的子列表,每行包含子列表中的元素。

  • 问题内容: 如何获得特定表中的列名列表? IE。 火鸟表: 得到这样的列表: 问题答案: 如果要获取特定表中的列名列表,则这是您需要的sql查询: 我在firebird 2.5中尝试过此方法,并且可以正常工作。 顺便说一句,YOUR-TABLE-NAME周围的单引号是必需的

  • 在有趣的功能中,当我将列表添加到其他列表时,它正在添加空列表,我可以找到原因有人可以帮助我这个程序是关于查找给定数组的不同组合