1. 概述
1.1 問題描述
填報前端預覽時,所有資料都是在一頁展示,如果資料量過大,由於前端瀏覽器的效能限制,將資料全部展現出來,速度會非常的慢,極大影響使用者體驗。
那麼填報能否像分頁預覽一樣進行分頁展示,進而提高填報預覽的速度呢?效果如下圖所示:
1.2 解決思路
在填報預覽(op=write)下,使用__cutpage__參數(即在 URL 後增加 &__cutpage__=v),配合條件屬性的分頁設定,來實現填報分頁效果。
1.3 注意事項
__是兩個底線
不支援行動端,不支援列分頁(列後分頁和列前分頁)
分頁後不支援頁碼相關函式,例如$$page_number、$$totalPage_number、{A1}等
分頁後使用JS獲取儲存格,僅能獲取當前頁的儲存格
分頁後重新執行參數面板的查詢,頁面會保留在查詢前的頁數
2. 範例
2.1 準備資料
建立普通報表,建立資料庫查詢資料集,SQL 語句為:SELECT * FROM 訂單明細 limit 1000
2.2 設計範本
設計範本主體
1)將資料集欄位拖到對應儲存格中
2)設定A2~F2儲存格資料設定為「列表」
2)為 A2~F2 儲存格新增正文元件
2.3 設定行後分頁
設定行後分頁是為了限制每頁展示多少行資料。
1)選擇A2儲存格,新增條件屬性。
2)設定屬性為「分頁>行後分頁」。
3)新增公式為:(row() - 1) % 200 = 0 或者 seq() % 200 = 0
該公式含義為每200行分一頁,如果感覺頁面仍然卡頓,可以減小該數值。
注:此公式中的 -1 是因為範例中有一行為表頭標題,所以需要減去不參與計算,實際應用時請根據自己的報表表頭的行數進行減行。
2.4 效果預覽
儲存範本,點選填報預覽,在 URL 後面新增參數&__cutpage__=v後重新預覽範本,效果如下圖所示:
注:該方案不支援行動端預覽。
3. 範本下載
點選下載範本:填報分頁.cpt