跟我一起學extjs5(42--單個模組的資料新增方式),extjs542--

來源:互聯網
上載者:User

跟我一起學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新增的方式類似,這個我還沒有做好,只是有這個設想。希望大家對各種資料新增的方式發表意見,看看有沒有更好更加方便的方法來進行資料的新增。

        這一節是抽空寫的,比較亂,希望有人能看懂。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.