1. 概述
1.1 學習視頻
本文學習視頻:插入刪除行
1.2 功能簡介
填報時如果有插入和刪除記錄的操作,那麼需要透過點選按鈕插入空白記錄或刪除已有記錄,FineReport 提供了 2 種設定插入和刪除按鈕的方法,分別如下:
內建插入刪除按鈕(不支援行動端)
自訂插入刪除按鈕(支援行動端)
2. 內建插入刪除按鈕
注:該方案不支援行動端預覽,如果您有行動端需求請不要使用該方案。
2.1 設計填報範本
1)建立資料庫查詢資料集 ds1,SQL 語句為:SELECT * FROM Sales
2)設計填報表格,A2~F2 儲存格新增正文元件,將資料集欄位拖入對應儲存格,如下圖所示:
3)設計器菜單欄點選「範本>報表填報屬性」,新增一個 內建SQL提交 ,如下圖所示:
2.2 設定插入刪除按鈕
設計器菜單欄選擇「範本>範本Web屬性」,開啟的介面選擇「填報頁面設定>為該範本單獨設定」,雙擊分別將「插入記錄」和「刪除記錄」按鈕新增到頂部工具欄,如下圖所示:
2.3 效果預覽
儲存範本,點選「填報預覽」,插入和刪除操作如下圖所示:
插入記錄
刪除記錄
注1:該方式會以滑鼠焦點所在儲存格為父格進行插入和刪除操作,所以點選按鈕前需確定滑鼠焦點所在儲存格是正確的。
注2:該方案不支援行動端預覽,如果您有行動端需求請不要使用該方案。
3. 自訂插入刪除按鈕
注:該方案支援行動端預覽。
3.1 設計填報範本
1)建立資料庫查詢資料集 ds1,SQL 語句為:SELECT * FROM Sales
2)設計填報表格,A2~F2 儲存格新增正文元件,將資料集欄位拖入對應儲存格,如下圖所示:
3)設計器菜單欄點選「範本>報表填報屬性」,新增一個 內建SQL提交 ,如下圖所示:
3.2 設定插入行按鈕
選中 G2 儲存格,給儲存格新增一個「按鈕元件」,按鈕型別下拉選擇「插入行」,指定儲存格設定為A2,其餘預設設定即可,如下圖所示:
有關插入行按鈕的屬性設定介紹如下表所示:
按鈕型別 | 屬性 | 說明 |
---|---|---|
插入行按鈕 | 按鈕名稱 | 前端展示時按鈕顯示的文字資訊,預設為:插入行 |
按鈕圖示 | 按鈕名稱前顯示的圖示,預設為綠色加號 | |
捷徑鍵 | 目前不支援捷徑鍵設定 | |
指定儲存格 | 指定以哪個儲存格為父格開始插入,該儲存格必須設定為可擴展 | |
行數 | 點選插入行按鈕後,一次插入的行數,預設為 1 |
3.3 設定刪除行按鈕
選中 H2 儲存格,給儲存格新增一個按鈕元件,按鈕型別下拉選擇「刪除行」,指定儲存格設定為A2,其餘預設設定即可,如下圖所示:
有關插入行按鈕的屬性設定介紹如下表所示:
按鈕型別 | 屬性 | 說明 |
---|---|---|
刪除行按鈕 | 按鈕名稱 | 前端展示時按鈕顯示的文字資訊,預設為:刪除行 |
按鈕圖示 | 按鈕名稱前顯示的圖示,預設為紅色叉 | |
捷徑鍵 | 目前不支援捷徑鍵設定 | |
指定儲存格 | 指定以哪個儲存格為父格進行刪除,該儲存格必須設定為可擴展 |
注:刪除行按鈕中不能設定提交事件,會有邏輯衝突問題。如果要設定,必須使用普通按鈕。
3.4 效果預覽
1)PC 端
儲存範本,點選「填報預覽」,插入和刪除操作如下圖所示:
插入記錄
刪除記錄
2)行動端
同時支援 App 端和 H5 端填報,效果如下圖所示:
注:刪除行按鈕的刪除只是將資料從頁面上刪除,不會和資料庫有交互。如果希望刪除行的同時將該資料從資料庫中一併刪除,可以參考:刪除時二次確認
4. 範本下載
5.注意事項
1)插入刪除行會對頁面上所有的公式進行重計算,頁面會有一個重新整理效果。所以如果頁面本身載入速度較慢,比如開啟了直接顯示元件或者用了sql函式等,那插入刪除行的速度也會變慢。此時可以在url後新增參數 &async_insert=true 開啟插入行後區域性重新整理,能有效提升大數據量時的插入行速度。
2)插入刪除行會觸發頁面的載入結束後事件。
3)插入的行中儲存格的值會受到插入行策略的影響,具體可以參考:插入行策略。
4)插入刪除行時,不支援層次座標函式的實時計算效果。