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

带有json数据源的嵌套jasper子报告

张腾
2023-03-14

我有一个 json 数据源,数组中的数组,我正在使用使用子报表,这些子报表的数据源来自主数据源上的 datasourceExpression 和“subdata()”方法。

我现在的问题是将另一个列表传递给另一个子报表,我不想再次使用子数据,我需要做的是将包含json文本的字段作为字符串从当前子报表传递到下一个子报表作为json数据源。

有人知道这是如何实现的吗?

我正在使用iReport 5.6.0来创建JasperReports的报告。

共有1个答案

毋玺
2023-03-14

对于这样的json:



     {"records":
        {
            "Calificaciones":[
                {"curso":1,"cursoCompleto":true,"asignaturas":[
                        {"asignatura":"Geometescriptiva 1"},
                        {"asignatura":"Geometescriptiva 2"},
                        {"asignatura":"Geometescriptiva 3"}
                    ]

                }
            ]
        }
    }

我将查询“records.Calificaciones”添加到主报告中,以迭代第一个数组,并在主报告的详细信息带中添加字段(curso、cursoCompleto、asignaturas)(在本例中,“curso”字段将打印整数“1”),现在要迭代嵌套数组,我将字段“asignatures”设置为“java.lang.Object”类型。

然后我在详细信息带上添加一个子报告,在“子报告属性”中选择:“使用数据源表达式”和数据源表达式的值:

new net.sf.jasperreports.engine.data.JsonDataSource(new    ByteArrayInputStream($F{asignaturas}.toString().getBytes()),"")

然后在子报表中,我将字段添加到详细信息范围(在本例中为字段“asignatura”),它将相应地为主数组的每个节点打印嵌套数组。

 类似资料:
  • 我使用jasper设计器(不是iReport而是eclipse的插件)创建了一个使用excel文件作为数据源的报表。 该报表在设计器中运行良好,并且从文件中读取数据没有问题,但是在将该文件编译为并在JasperViewer中给出excel文件的路径后,jasperViewer中没有任何内容! 这是我的代码:

  • 你好,在我解释我的问题之前,我会告诉你我想回答什么。 我正在尝试创建一个子报告,显示用户的不同收入。一个用户可以收到多次捐赠,出售了多栋房子/房产,赢得了比赛等。所有这些操作都有更多关于他们收到多少钱、缴纳的税款的详细信息,… 现在,我正在尝试在一个细节中显示用户的详细信息(姓名,姓氏,..;)。这行得通。下一个细节带将用于捐赠。我创建了一个子报表,在其中指定了此部分的布局。但是,此子报表所需的数

  • 只是想知道CVC组件是否与“子数据集”一起工作。如果可行,指导我如何才能做到这一点。

  • 问题内容: 此JSON输出来自MongoDB聚合查询。我本质上需要将嵌套数据JSON解析为以下’ 和值。 我尝试了5种不同的技术来从中获得所需的信息,但是使用和模块却遇到了问题。 理想情况下,输出将是这样的: 问题答案: 注意:来自MongoDB的JSON响应实际上无效。JSON需要双引号(),而不是单引号()。 我不确定为什么您的响应中有单引号而不是双引号,但是从其外观上,您可以替换它们,然后只

  • 我正在 jasper 报告中创建一个包含 3 个嵌套列表的表,我成功地创建了该表直到第二个列表,但对于第三个列表,它不起作用。有什么办法可以做到这一点吗?我正在为第二个列表使用子报告。 // Java代码 碧玉报告主文件代码 运行代码后我得到的输出。 实际输出 预期产出 谢谢你