bootstrap table表格插件之服務器端分頁實例代碼
Bootstrap Table是基于Bootstrap的輕量級表格插件,只需要簡單的配置就可以實現(xiàn)強大的支持固定表頭、單復選、排序、分頁、搜索以及自定義表頭等功能。
因公司的項目需要實現(xiàn)用戶管理的表格實現(xiàn),所以選用了bootstrap-table用于動態(tài)獲取后臺的用戶數(shù)據顯示到前臺。
示例截圖:

客戶端代碼:
//引入的css文件 <link href="../public/static/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" /> <link href="../public/static/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="external nofollow" rel="stylesheet"> //引入的js文件 <script src="../public/static/js/jquery.min.js"></script> <script src="../public/static/js/bootstrap.min.js"></script> <script src="../public/static/js/plugins/bootstrap-table/bootstrap-table.min.js"></script> <script src="../public/static/js/plugins/bootstrap-table/bootstrap-table-zh-CN.min.js"></script>
html文件代碼
<div class="panel panel-default"> <div class="panel-heading"> 查詢條件 </div> <div class="panel-body form-group" style="margin-bottom:0px;"> <label class="col-sm-1 control-label" style="text-align: right; margin-top:5px">姓名:</label> <div class="col-sm-2"> <input type="text" class="form-control" name="Name" id="search_name"/> </div> <label class="col-sm-1 control-label" style="text-align: right; margin-top:5px">手機號:</label> <div class="col-sm-2"> <input type="text" class="form-control" name="Name" id="search_tel"/> </div> <div class="col-sm-1 col-sm-offset-4"> <button class="btn btn-primary" id="search_btn">查詢</button> </div> </div> </div> <table id="mytab" class="table table-hover"></table> <div id="toolbar" class="btn-group pull-right" style="margin-right: 20px;"> <button id="btn_edit" type="button" class="btn btn-default" style="display: none; border-radius: 0"> <span class="glyphicon glyphicon-pencil" aria-hidden="true" ></span>修改 </button> <button id="btn_delete" type="button" class="btn btn-default" style="display: none;"> <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>刪除 </button> <button id="btn_add" type="button" class="btn btn-default"> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增 </button> </div>
js文件代碼:
//根據窗口調整表格高度
$(window).resize(function() {
$('#mytab').bootstrapTable('resetView', {
height: tableHeight()
})
})
//生成用戶數(shù)據
$('#mytab').bootstrapTable({
method: 'post',
contentType: "application/x-www-form-urlencoded",//必須要有?。。。?
url:"../index.php/admin/index/userManagement",//要請求數(shù)據的文件路徑
height:tableHeight(),//高度調整
toolbar: '#toolbar',//指定工具欄
striped: true, //是否顯示行間隔色
dataField: "res",//bootstrap table 可以前端分頁也可以后端分頁,這里
//我們使用的是后端分頁,后端分頁時需返回含有total:總記錄數(shù),這個鍵值好像是固定的
//rows: 記錄集合 鍵值可以修改 dataField 自己定義成自己想要的就好
pageNumber: 1, //初始化加載第一頁,默認第一頁
pagination:true,//是否分頁
queryParamsType:'limit',//查詢參數(shù)組織方式
queryParams:queryParams,//請求服務器時所傳的參數(shù)
sidePagination:'server',//指定服務器端分頁
pageSize:10,//單頁記錄數(shù)
pageList:[5,10,20,30],//分頁步進值
showRefresh:true,//刷新按鈕
showColumns:true,
clickToSelect: true,//是否啟用點擊選中行
toolbarAlign:'right',工具欄對齊方式
buttonsAlign:'right',//按鈕對齊方式
toolbar:'#toolbar',//指定工作欄
columns:[
{
title:'全選',
field:'select',
//復選框
checkbox:true,
width:25,
align:'center',
valign:'middle'
},
{
title:'ID',
field:'ID',
visible:false
},
{
title:'登錄名',
field:'LoginName',
sortable:true
},
{
title:'姓名',
field:'Name',
sortable:true
},
{
title:'手機號',
field:'Tel',
},
{
title:'郵箱',
field:'Email'
},
{
title:'注冊日期',
field:'CreateTime',
sortable:true
},
{
title:'狀態(tài)',
field:'Attribute',
align:'center',
//列數(shù)據格式化
formatter:operateFormatter
}
],
locale:'zh-CN',//中文支持,
responseHandler:function(res){
//在ajax獲取到數(shù)據,渲染表格之前,修改數(shù)據源
return res;
}
})
//三個參數(shù),value代表該列的值
function operateFormatter(value,row,index){
if(value==2){
return '<i class="fa fa-lock" style="color:red"></i>'
}else if(value==1){
return '<i class="fa fa-unlock" style="color:green"></i>'
}else{
return '數(shù)據錯誤'
}
}
//請求服務數(shù)據時所傳參數(shù)
function queryParams(params){
return{
//每頁多少條數(shù)據
pageSize: params.limit,
//請求第幾頁
pageIndex:params.pageNumber,
Name:$('#search_name').val(),
Tel:$('#search_tel').val()
}
}
//查詢按鈕事件
$('#search_btn').click(function(){
$('#mytab').bootstrapTable('refresh', {url: '../index.php/admin/index/userManagement'});
})
//tableHeight函數(shù)
function tableHeight(){
//可以根據自己頁面情況進行調整
return $(window).height() -280;
}
傳入后臺的數(shù)據:

后臺傳來的數(shù)據

只勾選一項,可以修改刪除

勾選多項只能刪除

開發(fā)過程中遇到的問題 (分頁后重新搜素問題)
如果點擊到第二頁,我再搜索框中輸入搜索條件,點擊查詢按鈕,調用bootstrap table refresh()方法,pageIndex會從第二頁開始,應該改為第一頁
網上大多數(shù)方法為 :
$(“#mytab”).bootstrapTable(‘destroy');先要將table銷毀,否則會保留上次加載的內容
……//然后重新初使化表格,相當于重新創(chuàng)建。
因為感覺太過麻煩,所以找了很久終于找到了簡單的解決方法
再點擊查詢按鈕時
$(‘#mytab').bootstrapTable(‘refreshOptions',{pageNumber:1,pageSize:10});//便可以了
代碼地址:https://github.com/hanxue10180/bootstrapTable
總結
以上所述是小編給大家介紹的bootstrap table表格插件之服務器端分頁實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
- bootstrap table 服務器端分頁例子分享
- bootstrap-table后端分頁功能完整實例
- Bootstrap table分頁問題匯總
- 第一次動手實現(xiàn)bootstrap table分頁效果
- bootstrap table插件的分頁與checkbox使用詳解
- BootStrap中Table分頁插件使用詳解
- BootStrap Table前臺和后臺分頁對JSON格式的要求
- bootstrap table分頁模板和獲取表中的ID方法
- 使用bootstraptable插件實現(xiàn)表格記錄的查詢、分頁、排序操作
- bootstrap-table實現(xiàn)服務器分頁的示例 (spring 后臺)
- BootStrap Table后臺分頁時前臺刪除最后一頁所有數(shù)據refresh刷新后無數(shù)據問題
- Bootstrap table 服務器端分頁功能實現(xiàn)方法示例
相關文章
微信小程序實現(xiàn)的3d輪播圖效果示例【基于swiper組件】
這篇文章主要介紹了微信小程序實現(xiàn)的3d輪播圖效果,結合實例形式分析了微信小程序基于swiper組件相關屬性設置、事件響應操作技巧,需要的朋友可以參考下2018-12-12
詳解基于Vue cli生成的Vue項目的webpack4升級
這篇文章主要介紹了詳解基于Vue cli生成的Vue項目的webpack4升級,本文將詳細介紹從webpack3到webpack4的升級過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
js showModalDialog參數(shù)的使用詳解
本篇文章主要是對js中showModalDialog參數(shù)的使用進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
uniapp使用uni.chooseLocation()打開地圖選擇位置詳解
這篇文章主要給大家介紹了關于uniapp使用uni.chooseLocation()打開地圖選擇位置的相關資料,因為最近在項目中遇到一個要用戶授權位置且可以用戶自己選擇位置的功能,需要的朋友可以參考下2023-06-06

