1. 問題描述
進行FineReport數據填報時,如果數據量過大,由於前端瀏覽器的性能限制,如果將數據全部展現出來,速度會非常的慢,影響用戶體驗,這時候大家就會想,填報是否能像分頁預覽一樣進行分頁呢,實現只加載當前頁,從而提高性能,下面我們就來介紹填報分頁的製作與瀏覽過程,在op=write下,使用__cutpage__=v參數(即在url後增加&__cutpage__=v)來啓用填報橫向不分頁縱向分頁。
2. 示例
下面我們以1000行數據爲例,每頁顯示200行,分5頁顯示。
2.1 數據準備
新建數據集ds1:SELECT top 1000 * FROM 訂單明細。
ds2:SELECT * FROM 產品。
2.2 模板設計
如下圖所示,在模板主體中拖曳數據列至C2~O2單元格,並設置標題:
2.3 過濾
數據列來源於2個數據集,需要在單元格中設置過濾條件,雙擊E2單元格,選擇過濾,條件設置爲產品id等於單元格D2,如下圖:
注:數據列中來自於ds1的數據列的父格需設置爲C2,來自於ds2的數據列的父格需設置爲E2。
2.4 分頁設置
形如分頁預覽中的每頁顯示固定行數,填報分頁也如此設置,如下圖,在C2單元格中添加一個條件屬性:
2.5 重複標題行、凍結行列設置
由於上面的報表主體中包含的數據列比較多,並且數據量也比較大,則在web端查看報表時,需要設置重複標題行,並且凍結行列,使查看報表時,仍然能知道該行數據的意義。
重複標題行
選中標題行,右鍵,選擇設置重複標題行。
凍結行列
點擊菜單欄的模板>重複與凍結設置,在填報凍結欄裏面講第一行以及第三列凍結起來,如下圖:
2.6 報表樣式設計
給FineReport報表設置樣式,如下圖:
2.7 效果查看
點擊填報預覽,在URL後面添加參數__cutpage__=v,即可啓用填報分頁,查看效果:
在線查看模板效果請點擊Cutpage.cpt
注:填報分頁狀態下,翻頁前,如果修改了當前頁的數據,需先保存該頁面內容,即傳輸到服務器端進行保存,那麼下次再查看該頁內容時,頁面顯示內容即爲編輯後的內容,在保存的過程中,不允許編輯,保存不是提交,報表會自動保存。
另:__cutpage__參數前後都有2個下劃線。