Bootstrap-table實現查詢、分頁、匯出、引數設定及前後端程式碼示例詳解
阿新 • • 發佈:2019-02-14
$(function(){
initTable();
});
function initTable() {
//先銷燬表格
$("#bootstrapTable").bootstrapTable({
//表格高度
height: getHeight(),
//伺服器資料的請求方式 'get' 或 'post'。
method: 'get',
//設定為 true 會有隔行變色效果
striped: true,
//設定為 true 會在表格底部顯示分頁條。
pagination: true ,
//請求後臺的URL
url: '/MsgDealCenterAction/listData',
//伺服器返回的資料型別。
dataType: 'json',
//工具按鈕用哪個容器
toolbar: '#toolbar',
//是否使用快取,預設為true,所以一般情況下需要設定一下這個屬性
cache: false,
//設定為 true 啟用分頁條無限迴圈的功能
// paginationLoop: true,
//設定在哪裡進行分頁,可選值為 'client' 或者 'server'。設定 'server'時,必須設定伺服器資料地址(url)或者重寫ajax方法
sidePagination: 'server',
//初始化載入第一頁,預設第一頁
pageNumber: 1,
//每頁的記錄行數
pageSize: 10,
//可供選擇的每頁的行數
pageList: [10,15,20, 50, 100],
//設定為false 將禁止所有列的排序。
sortable: true,
//設定預設排序為 name
sortName: 'insert_time',
//定義排序方式,'asc' 或者 'desc'。
sortOrder: "desc",
//是否顯示重新整理按鈕
showRefresh: true,
//是否顯示內容列下拉框。
showColumns: true,
//顯示匯出外掛
showExport: true,
//是否顯示右上角的搜尋框
search: false,
//是否顯示切換檢視(table/card)按鈕。
showToggle:false,
//是否啟用點選選中行
// clickToSelect: true,
//設定為undefined可以獲取pageNumber,pageSize,searchText,sortName,sortOrder
//設定為limit可以獲取limit, offset, search, sort, order
queryParamsType:'undefined',
//請求伺服器資料
queryParams: function queryParams(params){
var param = {
pageNumber: params.pageNumber,
pageSize: params.pageSize,
sortName: params.sortName,
sortOrder: params.sortOrder
};
return param;
},
//載入成功時執行
onLoadSuccess: function(data){
console.log("載入成功");
},
//載入失敗時執行
onLoadError: function(status){
console.log("載入資料失敗"+status);
},
columns: [
{
title: "全選",
field: "select",
checkbox: false,
width: 20,//寬度
align: "left",//水平
valign: "middle",
formatter: function (value, row, index) {
return row._id;
}
},{
title: '編號',//標題 可不加
align: 'center',
valign: 'middle',
sortable: false,
formatter: function (value, row, index) {
return index+1;
}
},{
field: 'source',
title: '產品線',
align: 'center',
valign: 'middle',
sortable: false,
width: '80px'
},{
field: 'msg_type',
title: '訊息型別',
align: 'center',
valign: 'middle',
sortable: false
},{
field: 'account_name',
title: '賬號型別',
align: 'center',
valign: 'middle',
sortable: false
},{
field: 'msg_name',
title: '訊息名稱',
align: 'left',
valign: 'middle',
sortable: false
},{
field: 'msg',
title: '訊息內容',
align: 'left',
valign: 'middle',
sortable: false,
visible: false,
//value【欄位值】row【row對應的整條記錄】index【行索引】
formatter: function format(value,row,index){
console.log(typeof(value))
// 縮排一個2個空格
return JSON.stringify(value, null, 2);
}
},{
field: 'msg_start_time',
title: '起始有效時間',
align: 'center',
valign: 'middle',
sortable: true
},{
field: 'msg_end_time',
title: '結束有效時間',
align: 'center',
valign: 'middle',
sortable: true
},{
field: 'insert_time',
title: '入庫時間',
align: 'center',
valign: 'middle',
sortable: true
},{
field: 'update_time',
title: '更新時間',
align: 'center',
valign: 'middle',
sortable: true,
visible: false
}]
});
}
//獲取table的高度
function getHeight() {
return $(window).height() - 100;
}