Jasper reports 如何为子报表创建循环?

Jasper reports 如何为子报表创建循环?,jasper-reports,subreport,Jasper Reports,Subreport,使用Java和Jasper Reports将子报表添加到报表中非常简单,但我很难将该子报表转换为可循环的内容 Java中的代码非常简单:创建报告并循环参数以生成子报告。最后生成的报告是一个XLS文件 麻烦从Jasper报告开始,因为第二次迭代抱怨子报告数据源ID已经在使用,但是如果我在Java代码中动态生成名称,Jasper报告将不会编译,因为子报告的数据库名称在XML中是固定的 理论上,我可以用一个子报告创建几个报告,然后将它们全部附加在一起,但这并不是最好的。那么我如何创建循环报告呢?这是J

使用Java和Jasper Reports将子报表添加到报表中非常简单,但我很难将该子报表转换为可循环的内容

Java中的代码非常简单:创建报告并循环参数以生成子报告。最后生成的报告是一个XLS文件

麻烦从Jasper报告开始,因为第二次迭代抱怨子报告数据源ID已经在使用,但是如果我在Java代码中动态生成名称,Jasper报告将不会编译,因为子报告的数据库名称在XML中是固定的


理论上,我可以用一个子报告创建几个报告,然后将它们全部附加在一起,但这并不是最好的。那么我如何创建循环报告呢?这是Jasper Reports在XML中提供的某种参数,还是不可能做到,而我必须使用多个报告策略?

很抱歉,很难理解您试图实现的目标,可能您走错了路。如果您可以在一个窗口中显示预期的输出,那就太好了。这可能是一个问题,您是否正在使用一些动态jasper库(动态报告或动态jasper)?嗯。。。我没有添加任何代码,因为我必须用Java编写的代码非常简单:“Report Report=new Report(“Report”,parameters)”。我并没有真正考虑动态jasper库,但这确实让我在代码中进一步查找。我的类是从另一个类扩展而来的,该类是从另一个使用net.sf.jasperreports.engine库的类抽象而来的。最后,我遇到的限制是由于抽象类,因为上面的“报告”正在检查数据源名称(因此,当我有一个创建具有相同ID的新报告的循环时,ID的消息已经在使用中)。但是,除非我动态地创建XML来为每个子报表添加数据源名称,否则我会觉得我将无法将所有子报表连接在一起。很抱歉,很难理解您要实现的目标,可能是您走错了路。如果您可以在一个窗口中显示预期的输出,那就太好了。这可能是一个问题,您是否正在使用一些动态jasper库(动态报告或动态jasper)?嗯。。。我没有添加任何代码,因为我必须用Java编写的代码非常简单:“Report Report=new Report(“Report”,parameters)”。我并没有真正考虑动态jasper库,但这确实让我在代码中进一步查找。我的类是从另一个类扩展而来的,该类是从另一个使用net.sf.jasperreports.engine库的类抽象而来的。最后,我遇到的限制是由于抽象类,因为上面的“报告”正在检查数据源名称(因此,当我有一个创建具有相同ID的新报告的循环时,ID的消息已经在使用中)。但是,除非我动态地创建XML来为每个子报表添加数据源名称,否则我会觉得我将无法将所有子报表连接在一起。