FineReport

最強大的動態報表與BI商業智慧工具!

Web報表軟體FineReport的死循環問題處理

1. 問題描述
Web報表軟體FineReport中,有時預覽一個報表模板或是做一個報表模板時,是否有時會出現報死循環類似的錯誤,那是什麼原因出現這樣的情況的呢?這個往往是由於設置的某個報表單元格的父格不當導致的
2. 產生錯誤的原因
2.1 設置某個報表單元格的左、上父格導致出現死循環
報錯情況:
報表設計器預覽報表時,報如下錯:
報表設計器預覽報錯
或分頁預覽時,報如下錯誤信息:
報表分頁預覽報錯
分析:看了如上錯誤信息後,我們來看下報表模板的設計界面:
圖1:
報表模板設計界面1
圖2:
報表模板設計界面2
會發現設計報表模板中,B4單元格的左父格,設置為D4了(圖1),而C4與D4單元格,是不擴展的且這裡是默認的,那就是C4與D4單元格的左父格均默認為B4(圖2),即這裡B4單元格的左父格,設置為D4且D4單元格的左父格均默認為B4,就矛盾,出現了邏輯錯誤。而把B4單元格的左父格,設置為默認後,即左父格為默認A4,這樣就不會出現死循環的問題了。
解決方案:分析檢查下報錯信息中相關的報表單元格,看其左、上父格的設置是否存在矛盾的地方。
2.2 設置某些公式導致出現死循環
報錯情況:
某些公式的設置,如:在某個單元格中輸入=range(255),在不設置擴展時,報表設計器預覽,會報如下錯:
公式設置報錯
接下來,我們看下這個報表模板的設計界面,如下:
報表模板設計界面3
分析:這裡您設置的是一個單元格佔用一行的,在顯示255個數的時候,由於單元格默認是設置自動調整行高,所以此時單元格就會根據內容自動將單元格高度拉伸了。即實際是把一格的行高變為大於一頁的高度了,所以就會報如上的錯誤。因此,要解決這個問題,我們可以使之一格佔多行,讓其分割開來顯示,即:使之拆分為多行進行計算,這樣就可以把一格的行高變為大於一頁的高度,這樣分頁就不會再有問題了。
原因:我們進行分頁計算時,是按行為單位的。這裡255個數只用一格在一頁中是顯示不完的,超過了一頁的高度。如一頁,高度為400是放不下高度為500的行的,此時就會出問題。
注意:報表單元格的高度是不能超過頁面的設置高度。
解決方案:合并幾個報表單元格,使一格佔多行,這樣分頁就不會有問題了。
2.3 其他原因
可能有時死循環錯誤信息,並不能真正看出其真實的錯誤原因,那麼在檢查過某些單元格的父格及公式設置正確後,若仍然出現如上問題,則可以找我們的技術支持,幫您具體看一下問題,看看其他方面可能出現的原因。

  • 聯繫我們

  • 電話:0933-790886
  • 邮箱:brian.wang@fanruan.com
  • 地址:300 新竹市學府路40號 (交大育成中心 R302)
  • 臉書粉絲團
Copyright©2017 Fanruan Software Co.,Ltd. All Rights Reserved. 帆軟軟體有限公司 | 蘇ICP備14031611號-8

返回頂部