1. 概述
1.1 問題描述
填報前端預覽時,所有數據都是在一頁展示,如果數據量過大,由於前端浏覽器的性能限制,将數據全部展現出來,速度會非常的慢,極大影響用戶體驗。
那麽填報能否像分頁預覽一樣進行分頁展示,從而提高填報預覽的速度呢?效果如下圖所示:
1.2 解決思路
在填報預覽(op=write)下,使用__cutpage__=v參數(即在 URL 後增加 &__cutpage__=v),來啓用填報分頁效果。
注1:該方法不支持新填報預覽。
注2:該方法同樣适用於多 sheet 填報。
注3:__是兩個下劃線,填報分頁預覽不支持列分頁(列後分頁和列前分頁)。
注4:由於填報分頁下,移動端無法一次提交所有頁面,因此移動端不支持該參數該功能。
2. 示例
2.1 準備數據
新建普通報表,新建數據庫查詢數據集,SQL 語句爲:SELECT * FROM 訂單明細 limit 1000
2.2 設計填報表格
設計填報表格,将數據集字段拖到對應單元格中,A2~F2 單元格添加文本控件,如下圖所示:
2.3 設置填報屬性
菜單欄點擊模板>報表填報屬性,新增内置 SQL 提交,如下圖所示:
2.4 設置行後分頁
設置行後分頁是爲了限制每頁展示多少行數據,通過分頁>行後分頁條件屬性實現,公式爲:(row() - 1) % 200 = 0,如下圖所示
注:此公式中的 -1 是因爲示例中有一行爲表頭标題,所以需要減去不參與計算,實際應用時請根據自己的報表表頭的行數進行減行!
2.5 設置模板參數
打開目錄,找到對應的報表,類型選擇填報,并設置參數名稱爲__cutpage__=v,類型爲字符串,值爲 v
2.6 凍結标題行
爲了翻頁時凍結标題行,需要如下圖設置:
2.7 效果預覽
保存模板,點擊填報預覽,并在 URL 後面添加參數&__cutpage__=v并回車重新預覽模板,效果如下圖所示
注:不支持移動端預覽。
3. 模板下載
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\Cutpage\填報分頁.cpt
點擊下載模板:填報分頁.cpt