bootstrap-table插件使用總結


學習過程中,遇到的情況彙總,不定期更新


table字段自動排序失效

有時在table標籤中設置了 data-sortable="true"或者在js中設置了sortable: true,表格列的排序功能還是用不了。有些網友說要編寫後臺代碼,重新排序後在回傳,感覺應該這個插件沒這麼low。找了半天,找到了原因,只需要把分頁選項註釋掉,即data-side-pagination這個選項不添加即可。

 

數據格式問題

需要將數據庫返回數據轉換成json特定格式,才能被bootstrap table插件讀取。一般有兩種,推薦使用一種標準一點的json對象格式,必須要有total和rows兩個key,
{"total": 2,"rows": [{"id": 0,"name": "Item 0","price": "$0"},{"id": 1,"name": "Item 1","price": "$1"}]},
且鍵的名字必須與table設置columns的field值一樣,才能讀取到數據。

初始化時可以這麼寫

total = all_data.count()
rows = []
result = {"total":total,"rows":rows}

然後設定rows字典數組具體內容然後返回即可

 

各設置項含義

            url: '/Home/GetDepartment',         //請求後臺的URL(*),url也可以直接指定數據源,必須爲json格式
            method: 'get',                      //請求方式(*)
            toolbar: '#toolbar',                //工具按鈕用哪個容器
            striped: true,                      //是否顯示行間隔色
            cache: false,                       //是否使用緩存,默認爲true,所以一般情況下需要設置一下這個屬性(*)
            pagination: true,                   //是否顯示分頁(*)
            sortable: false,                     //是否啓用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//傳遞參數(*)
            sidePagination: "server",           //分頁方式:client客戶端分頁,server服務端分頁(*)
            pageNumber:1,                       //初始化加載第一頁,默認第一頁
            pageSize: 10,                       //每頁的記錄行數(*)
            pageList: [10, 25, 50, 100],        //可供選擇的每頁的行數(*)
            search: true,                       //是否顯示錶格搜索,此搜索是客戶端搜索,不會進服務端,所以,個人感覺意義不大
            strictSearch: true,
            showColumns: true,                  //是否顯示所有的列
            showRefresh: true,                  //是否顯示刷新按鈕
            minimumCountColumns: 2,             //最少允許的列數
            clickToSelect: true,                //是否啓用點擊選中行
            height: 500,                        //行高,如果沒有設置height屬性,表格自動根據記錄條數覺得表格高度
            uniqueId: "ID",                     //每一行的唯一標識,一般爲主鍵列
            showToggle:true,                    //是否顯示詳細視圖和列表視圖的切換按鈕
            cardView: false,                    //是否顯示詳細視圖
            detailView: false,                   //是否顯示父子表

載入數據

table的數據可以通過url指定,也可以在js代碼中載入,載入的數據需符合數據格式

$("#table").bootstrapTable('load',result_data);

語言設置

table默認是英文的,如需中文需要設置locale屬性爲zh-CN同時要導入相應的js文件,有分語言的js,但最好在html頁面的script裏導入一個全的語言文件包。bootstrap-table-locale-all.min.js。這樣可以隨時切換。該文件可以在官網上下,試了一下github上的單獨中文包,發現該文件打包錯誤,裏面是html代碼,也算官方的一個小bug

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章