一、html部分 (只需要一個帶ID的table即可)
<table id="tb_departments"></table>
二、主要部分(js動態渲染配置)
window.onload = function () {
1 $('#tb_departments').bootstrapTable({ 2 sortOrder: "asc", //排序方式 3 height: tableHeight(), // 動態配置表格高度 4 pageNumber: 1, //初始化加載第一頁,默認第一頁 5 pagination: true, //分頁 6 pageSize: 10000, //每頁的記錄行數(*) 7 minimumCountColumns: 2, //最少允許的列數 8 cardView: false, //是否顯示詳細視圖 9 showExport: false, //是否顯示導出 10 exportDataType: "basic", //basic', 'all', 'selected'. 11 align: 'center', 12 columns: [{ 13 field: 'cardId', 14 visible: true, //是否顯示 15 align: 'center', 16 valign: 'middle', //垂直居中 17 title: '序號' 18 }, 19 { 20 field: 'id', 21 visible: false, //是否顯示 22 23 }, 24 { 25 field: 'groupname', 26 align: 'center', 27 title: '所屬中隊', 28 class: 'colStyle', //動態添加每一列樣式 29 valign: 'middle', 30 }, 31 { 32 field: 'address', 33 align: 'center', 34 title: '打卡地點', 35 valign: 'middle', 36 class: 'colStyle', 37 formatter:paramsMatter, //通過formatter方法為當前列動態添加一個回調函數 38 }, 39 { 40 field: 'workType', 41 align: 'center', 42 valign: 'middle', 43 valign: 'middle', //設置表頭列居中對齊 44 class: 'colStyle', 45 title: '白/夜班', 46 47 48 }, 49 { 50 field: 'classType', 51 align: 'center', 52 valign: 'middle', 53 class: 'colStyle', 54 title: '班次', 55 56 }, 57 { 58 field: 'startEarliestTime', 59 align: 'center', 60 class: 'colStyle', 61 valign: 'middle', 62 title: '上班開始打卡時間', 63 64 }, 65 66 { 67 field: 'startLatestTime', 68 align: 'center', 69 class: 'colStyle', 70 valign: 'middle', 71 title: '上班時間', 72 73 }, 74 { 75 field: 'middleTime', 76 align: 'center', 77 class: 'colStyle', 78 valign: 'middle', 79 title: '上班時間分割點', 80 }, 81 { 82 field: 'endEarliestTime', 83 align: 'center', 84 valign: 'middle', 85 class: 'colStyle', 86 title: '下班時間', 87 88 89 }, 90 { 91 field: 'endLatestTime', 92 align: 'center', 93 valign: 'middle', 94 class: 'colStyle', 95 title: '下班結束打卡時間', 96 97 }, 98 { 99 field: 'tonightFlag', 100 align: 'center', 101 valign: 'middle', 102 title: '跨天', 103 104 }, 105 { 106 field: 'username', 107 align: 'center', 108 title: '人員', 109 class: 'colStyle', 110 valign: 'middle', 111 formatter:paramsMatter1, 112 113 }, 114 { 115 field: 'distanceRange', 116 align: 'center', 117 valign: 'middle', 118 visible: false, //是否顯示 119 title: '打卡范圍(米)', 120 121 }, 122 { 123 field: 'click', 124 align: 'center', 125 class: 'colStyle', 126 valign: 'middle', 127 title: '操作', 128 align: 'center', 129 formatter: function(value, row, index) { 130 //console.log(row) 131 var value = value; 132 var index = index; 133 var rowStr = row.id; 134 //console.log(path); 135 var html = 136 '<button type="button" class="btn btn-primary btn-xs btndo" onclick="Edit(\'' + 137 rowStr + '\')">修改</button>' 138 html += 139 '<button type="button" class="btn btn-primary btn-xs btndo" onclick="Delete(\'' + 140 rowStr + '\')" >刪除</button>' 141 return html; 142 } 143 } 144 ], 145 formatNoMatches: function() { 146 return "暫無數據"; 147 }, 148 153 });
arr = [
{
"username":"張三"
}
] 154 $("#tb_departments").bootstrapTable('load', arr); //實例化完成后渲染表格數據 155
//下面是表格相關的回調函數 156 function paramsMatter(value, row, index) { //對該列數據進行二次處理 比如過長顯示“...” 157 var values = row.address.replace("浙江省杭州市","");//獲取當前字段的值 158 if(values.length>6){ 159 return "<span title="+values+">"+values.slice(0,6)+"...</span>" 160 }else{ 161 return "<span title="+values+">"+values+"</span>" 162 } 163 168 } 169 function paramsMatter1(value, row, index) { 170 var values = row.username;//獲取當前字段的值 171 var str = values.substring(0, values.lastIndexOf(',')); 172 if(values.length>6){ 173 return "<span title="+str+">"+str.slice(0,6)+"...</span>" 174 }else{ 175 return "<span title="+str+">"+str+"</span>" 176 } 177 178 } 179 function tableHeight() { 180 //可以根據自己頁面情況進行調整 181 return $(window).height() - 160; 182 }
function Edit(data){ //對每行數據編輯
}
function Delete(data){ //刪除每行數據
}
三、注意(想修改表格樣式的話小提示)
修改表頭樣式 在bootstraptable.css中搜 “.fixed-table-container thead th .th-inner”
修稿body中的td 搜 “.bootstrap-table .table:not(.table-condensed) > tfoot > tr > td”
}