跟我一起學extjs5(42--單個模組的資料新增方式),extjs542--
跟我一起學extjs5(42--單個模組的資料新增方式)
前面的章節中已經加入了一個自訂的模組,並且可以進行資料的新增、修改、刪除的操作了,在這個基礎上就可以大作文章了。這一節來設想幾種新據新增的方式,並給出一些具體的解決方案。 看了我後台java源碼的可以看出,所有的模組的新增、修改、刪除全部是相同的處理,只是用了反射來產生各個實體bean,這樣不管你有多少個業務bean,你的這部分代碼是不用再增加了,只需要考慮一些邏輯處理上的操作即可,這些在後面會提到。基於這樣的方式,我們可以定義多種資料的新增方案,比如現在程式裡已經有的二種,一種是直接新增,還有一種是複製新增。 在實際使用過程中這二種方式肯定是不夠的,因此可以設計出以下幾種:
- 單條excel資料新增;
- 多條excel資料新增;
- 單條記錄拷貝到剪下板新增;
- 多條記錄拷貝到剪下板新增;
下面分別對這幾種方式的實現方式作下說明: 一、單條excel資料的新增:這種方式對於欄位很多的表比較適用,首先定義好一個excel表用來填寫每一條記錄。對於我們上一節中加入的銷售合約模組,我們可以作一張以下的excel表:
做好這張表之後,我們需要設定一下欄位對應的單元格子,就是哪個欄位是填資料的,比如上表中合約編碼就填在B2單元格內,簽訂日期填在D2單元格內。
tf_code=B2;
tf_signDate=D2;
tf_name=B3;
tf_customerNme=B4;
........
4.專門有一個模組是管理資料單條Excel新增的,將這些欄位設定放到這個模組的管理“銷售合約”的那條記錄下,把對應關係設定進去,然後把上面的excel檔案上傳。
5.合約管理的新增按鈕下會有一個菜單條,“excel單條記錄上傳新增”,按下後會顯示一個上傳檔案的視窗,選擇添好資料的新增的excel檔案,上傳即可。檔案上傳不管成功不成功都會返回結果。
6.檔案上傳的操作也會自動記錄到動作記錄中,會把上傳的檔案也儲存在裡面。
7.在模組的右上方會有一個設定按鈕,在這個按鈕下會增加一個"下載單條記錄excel新增的模板檔案” 的菜單條,按此菜單薦,就可以把上面做好的那個模板檔案供使用者下載了填寫資料。
通過以上幾步,就可以完全在前台增加一個模組的單條記錄excel上傳的功能,此功能增加好以後直接重新整理網頁就直接能用了。
二、多條excel資料新增;
多條資料excel新增的過程比單條的還要少,還要方便。
1.在模組欄位的屬性中有一個 是否允許excel匯入的欄位。在java的 _ModuleField中,此欄位的定義如下:
@JsonIgnore
@FieldDefine(title = "Excel匯入", remark = "Excel匯入新增時加入此欄位可新增", number = 240)
private Booleantf_allowInsertExcel;
2.將需要匯入的欄位的該值設定為true;
3.將所有需要在多條excel匯入新增時加入的欄位的該值設定為true;
4.設定該模組的 “允許多條excel匯入” 選項為true;
5.重新整理網頁;可以在模組的右上方的設定按鈕下面下載用於多條新的的excel的模組檔案。
6.根據模組檔案中的一些提示將此excel檔案中的資料填好;
7.在新增的按鈕下,會有一個 “多條excel檔案新增”的按鈕,按下之後將會上傳你填寫好的excel檔案。
8.後台對每一條資料進行新增,新增的結果會寫在資料列後面的一列上;
9.新增好後會顯示一共增加了多少條,有多少失敗,可以下載處理好的寫有每條記錄新增成功或失敗(有失敗的原因)的excel表。
10.新增的資訊會加入到記錄檔中,以後可以下載新增這表檔案。
以上二種新增方式是在實際使用中我用到的,在原來的extjs4.2的版本中已經實現了,具體的可以看extjs4.2 的那個部落格,在extjs5的版本中還沒有加入,上面講述的只是基本原理。
單條記錄和多條記錄拷貝到剪下板新增的過程應該和上面多條excel新增的方式類似,這個我還沒有做好,只是有這個設想。希望大家對各種資料新增的方式發表意見,看看有沒有更好更加方便的方法來進行資料的新增。
這一節是抽空寫的,比較亂,希望有人能看懂。