Bootstrap-Table的Web表格進階---實時編輯

? ? ? Bootstrap-table是我目前使用過比好的Web前端表格框架,在實際工作也帶了很多的實現便利,關于Bootstap-table基本的介紹可參考我之前的文章《基于Bootstrap-Table的Web表格教程》,本文將介紹Bootstrap-Table擴展功能---實時編輯。


一、使用Bootstrap-Table實現實時編輯步驟

? ? ? 在詳細介紹實現實時編輯前,先說說基本實現過程,wenzhixin(文翼)大牛開發的Bootstrap-Table本身是不支持實時編輯的,由于工作中項目的需要,需要對大量的字段內容進行增刪改查,本來想使用Form表單來解決,但表單不太靈活特別是在出現大量輸入字段時,操作保存任何字段值都要刷新整個頁面,其用戶體驗差,先上圖看看我們的一個實現的效果:

使用Bootstrap-table實現表單編輯功能
使用Bootstrap-table實現動態添加行與合并單元格

二、實現步驟如下:


1.加載表格擴展功能bootstrap-table-editable與插件x-editable

2.初始化動態創建Table表單

3.監聽表格保存事件實現實時保存

下面將介紹實現過程:

1、加載表格擴展功能bootstrap-table-editable與插件x-editable

? ? ? ? Bootstrap-table是通過擴展bootstrap-table-editable來實現單元格的編輯功能的,bootstrap-table-editable會引用第三方強大的Bootstrap的插件x-editable功能,所以也需要在html中一并引入如下圖:

在html中引用bootstrap-table-editable與插件x-editable

注意:bootstrap-table-editable只引用x-editable的部分功能,x-editable的功能很強大如果大家有興趣也可以研究一下:X-editable Home

2、初始化動態創建Table表單

? ? ? ? ?1). 先定義一個類似表單的表格,先定義表格的屬性與表頭的結構、表結構的定義可參考我之前的基礎教程,詳細定義如下,此樣例是定義在模態框中,當然大家也可以直接定義在當前的某個頁面中:


表格在html中的定義


定義表頭的結構

注意:showHeader:false表示影藏表頭,這樣看起來更像表單,editable:{}屬性定義了單元格編輯屬性,"inline"表示在表格內顯示編輯框還有另一種模式是"popup"即彈出模態,"textarea":表示是一個文本域框。詳細請參考x-editable插件的說明:x-editable編輯插件的屬性定義

2).通過Bootstrap-table的append方法來動態初始化表格的行


append方法來動態初始化表格的行

從上到下一行行初始化表格每一行、并通過appen的方法來添加到表格中。

3)當添加完成后你可能還需要對一些單元格進行合并,即Merge操作,如下函數代碼:

對一些單元格進行合并,其實現效果參考前面的圖《使用Bootstrap-table實現的動態添加行與合并單元格》

合并單元格使用'mergeCells'方法。append與mergeCells的定義與樣例可參考bootstrap-table的官方文檔。append方法官方例子mergeCells方法官方例子

3.監聽表格保存事件實現實時保存

1).添加一個【editable-save.bs.table】事件監聽器,監聽用戶的保存操作,當用戶輸入內容并點擊確認按鈕即那個帶打勾的按鈕后就會促發監聽器。

監聽用戶的保存操作

在使用on方法調用off方法是為了防止多次添加同事件監聽,所以先刪除監聽再添加監聽。回調函數的詳細介紹請此鏈接:bootstrap-table-editable擴展功能

2).在監聽器中通過Ajax調用將數據實時保存到后臺服務:

通過Ajax調用將數據實時保存到后臺

三、總結:

? ? ? ?本文只是bootstrap-table的一個應用實踐經驗但不一定是很好的表格實時編輯解決方案,如果大家有興趣的話除了也可以嘗試著使用強大的X-editable來實現同樣的功能。PS:本人不是專業的Web端開發人員,只是拋磚引玉,如有相關Web開發的概念錯誤敬請見諒。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,232評論 4 61
  • 由于工作的經常需要寫一些Web前端的頁面用于展現數據,在實際應用過程中發現使用表格來展現數據與信息更方便與直...
    luckydaxian閱讀 23,699評論 8 59
  • ¥開啟¥ 【iAPP實現進入界面執行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,523評論 0 17
  • 在安裝ampps的時候,提示443端口被占用了, 得到占用443端口的進程ID,發現是VisualSVNServe...
    何幻閱讀 4,376評論 0 1
  • 我們都曾做過同樣的夢,比如撿錢,彎著腰不停的撿,好多好多。 但我也曾做過無與倫比的夢,我夢見一個十分寬廣深綠的大湖...
    關雎黍離閱讀 324評論 0 0