搜档网
当前位置:搜档网 › 统计图表FineReport的死循环问题处理

统计图表FineReport的死循环问题处理

统计图表FineReport的死循环问题处理
统计图表FineReport的死循环问题处理

1.问题描述

在统计图表FineReport中,有时预览一个报表模板或是做一个报表模板时,是否有时会出现报死循环类似的错误,那是什么原因出现这样的情况的呢?这个往往是由于设置的某个报表单元格的父格不当导致的。

2.产生错误的原因

2.1设置某个报表单元格的左、上父格导致出现死循环

报错情况:

报表设计器预览报表时,报如下错:

或分页预览时,报如下错误信息:

分析:看了如上错误信息后,我们来看下报表模板的设计界面:

图1:

图2:

会发现设计报表模板中,B4单元格的左父格,设置为D4了(图1),而C4与D4单元格,是不扩展的且这里是默认的,那就是C4与D4单元格的左父格均默认为B4(图2),即这里B4单元格的左父格,设置为D4且D4单元格的左父格均默认为B4,就矛盾,出现了逻辑错误。而把B4单元格的左父格,设置为默认后,即左父格为默认A4,这样就不会出现死循环的问题了。

解决方案:分析检查下报错信息中相关的报表单元格,看其左、上父格的设置是否存在矛盾的地方。

2.2设置某些公式导致出现死循环

报错情况:

某些公式的设置,如:在某个单元格中输入=range(255),在不设置扩展时,报表设计器预览,会报如下错:

接下来,我们看下这个报表模板的设计界面,如下:

分析:这里您设置的是一个单元格占用一行的,在显示255个数的时候,由于单元格默认是设置自动调整行高,所以此时单元格就会根据内容自动将单元格高度拉伸了。即实际是把一格的行高变为大于一页的高度了,所以就会报如上的错误。因此,要解决这个问题,我们可以使之一格占多行,让其分割开来显示,即:使之拆分为多行进行计算,这样就可以把一格的行高变为大于一页的高度,这样分页就不会再有问题了。

原因:我们进行分页计算时,是按行为单位的。这里255个数只用一格在一页中是显示不完的,超过了一页的高度。如一页,高度为400是放不下高度为500的行的,此时就会出问题。

注意:报表单元格的高度是不能超过页面的设置高度。

解决方案:合并几个报表单元格,使一格占多行,这样分页就不会有问题了。2.3其他原因

可能有时死循环错误信息,并不能真正看出其真实的错误原因,那么在检查过某些单元格的父格及公式设置正确后,若仍然出现如上问题,则可以找我们的技术支持,帮您具体看一下问题,看看其他方面可能出现的原因。

相关主题