Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jasper reports 长文本交叉表子报表中的无限循环_Jasper Reports_Crosstab_Subreport - Fatal编程技术网

Jasper reports 长文本交叉表子报表中的无限循环

Jasper reports 长文本交叉表子报表中的无限循环,jasper-reports,crosstab,subreport,Jasper Reports,Crosstab,Subreport,好的,这是我的设置 包含子报表的主报表。 子报表是交叉表报表。 交叉表中的一个字段可能很长,但必须是这样。 当long字段不长时,报告呈现为精细。 如果它包含大量的文本,jasper会大声抱怨3页以上的无限循环 我觉得这是一个bug,但是我想知道我是否应该以不同的方式来处理这个报告,以避免这个问题。 是否有另一个控件可以用来显示动态列,比如交叉表,并支持较长的文本 谢谢,如果关于我的报告的任何其他信息有帮助,请随时询问,我会尽我所能给你 错误消息是: 错误JRFillSubreport-填充1:

好的,这是我的设置

包含子报表的主报表。 子报表是交叉表报表。 交叉表中的一个字段可能很长,但必须是这样。 当long字段不长时,报告呈现为精细。 如果它包含大量的文本,jasper会大声抱怨3页以上的无限循环

我觉得这是一个bug,但是我想知道我是否应该以不同的方式来处理这个报告,以避免这个问题。 是否有另一个控件可以用来显示动态列,比如交叉表,并支持较长的文本

谢谢,如果关于我的报告的任何其他信息有帮助,请随时询问,我会尽我所能给你

错误消息是:

错误JRFillSubreport-填充1:异常
net.sf.jasperreports.engine.JRRuntimeException:Crosstab在连续3页上没有打印任何内容,可能是无限循环

我在使用Crosstab reports时遇到了相同的问题,因为我的一些单元格有1.5K+个字符。。。我概述了我做这件事的方法

基本上,我使用的是子数据集,而不是子报表。对我来说,最重要的是在“crosstabCell”和“reportElement”元素上设置的高度和宽度值

我发现我必须对XML进行一些修改才能让它运行起来,但最终一切正常


希望能有所帮助:)

我在使用Jasper reports-Crosstab时遇到了生产系统上的“无限循环”问题。我不知道发生这种情况的确切原因,因为没有记录错误/异常。唯一的提示是,这种情况只发生在一些情况下,交叉表列数据很长,必须溢出到下一页。我意识到带有“stretch with overflow”的元素会混淆Jasper引擎并进入“无限循环”。可以理解,Crosstab不能满足您的所有要求,因为某些“拉伸”功能是不合理的。至于我的报告设计,我已经定制了一些交叉表,通过添加额外的元素(占用额外的空间)和一些具有“溢出拉伸”功能的元素


在这个问题被报告之后,我创建了一个带有交叉表的简单报告,没有任何定制或扩展功能,并用各种测试用例对其进行了测试……它成功了。已经有一段时间了,这个“无限循环”问题在这次更改后没有被报告。

Hmm,您的解决方案的哪一部分解决了大文本无限循环的问题?我使用的是标准的jdbc数据源,而不是xml文件,因此我认为我不需要解释中的所有内容。影响无限循环的因素:1-主宽度以外的Superport溢出,其中相对位置错误地配置为溢出。2-单元格宽度。“对我来说最重要的是我在“crosstabCell”和“reportElement”元素上设置的高度和宽度值”这两个词暗示了这一点;)我发现每个细胞的宽度都是“100”。在70:无限循环。。。在200:无限循环。。。100:没有无限循环。为什么我不知道,可能是个虫子。至于交叉表的子报表,我总是遇到这样的问题,所以我坚持使用子数据集。谢谢!我将看看是否可以在不限制文本输入的情况下调整它PYou不需要将文本输入限制为单元格的宽度。您的数据将自动换行。这只意味着你的手机会又高又瘦;)现在,这就是造成无限循环的原因,单行垂直延伸到单个页面之外。即使行在新页上开始。