※ 此章節使用EEP.NET Core基礎課程的課程教材表單以及測試資料進行開發示範。
我們以[出貨單]為例,來設計單檔離線開發的表單,如以下步驟:
1.
打開 [出貨單]
RWD表單,在Datagrid上的Toolitems添加一個Onclick為viewOffline的按鈕,屬性設定參考如下:
2.
我們在【選單】中將要支援離線的頁面,類型先設進行設定,才能讓使用者選擇進行離線下載,如下圖。
3.
我們使用EEP MANU APP登入到這個網站,並打開主頁面執行【離線下載】這個功能,這邊透過【全選】、【確定】下載所有表單:
4.
離線下載成功後,按下用戶下拉選單內的【離線】,即可進行離線的操作,然後透過選單打開[出貨單]。
5.
此時即使手機沒有訊號或飛航模式下,APP會打開已經下載的表單與對應的資料,無須依賴網路與主機服務,打開[出貨單]後可以進行操作,我們可以對出貨單,自行進行新增/修改/刪除的動作。
對離線數據進行了新增/更改/刪除的動作時,我們的APP會自動記錄的離線異動的紀錄,可以按下【離線異動清單】這個按鈕來查看,如右上圖片。
6.
與前一章的單檔[產品資料表]不同,多檔的[出貨單]於【離線異動清單】開啟的Dialog內會額外多一個"明細"欄位,透過數字表示對明細資料的異動次數及操作紀錄,數字iCon可以進行點擊,同樣會透過Dialog呈現詳細紀錄。
7.
當回到有網路的地方時,可以透過用戶下拉選單的【切換線上】回到線上模式,如下圖,同樣的打開[出貨單],此時資料會以主機端的資料為主,你剛剛更改的那一份數據還在離線異動紀錄裡面。
在切換回線上模式後,會發現【離線異動清單】按鈕會出現數字,顯示3,
因為我們剛剛總共在離線狀態做了新增、修改和刪除三筆異動紀錄。
按下【離線異動清單】的按鈕後,離線異動的操作紀錄同樣會顯示出來,但是與離線操作時不同之處在於,下方會出現【呈送】按鈕,按下之後會將離線異動更新到資料庫的主機上,以完成離線的更新動作。
8.
[出貨單]的主鍵欄位"出貨編號"透過server端的AutoNumber元件進行自動編號,由於離線模式下並無法確認當前自動編號到哪一號,因此我們會以前端預設值進行紀錄,當回到線上模式呈送時,才會再進行實際自動編號的取得並賦予。
原先最新一筆資料"出貨編號"為S2408007:
線上模式進行呈送後,資料會至資料庫取得最新值進行編號,因此新增了S2408008的資料: