bootstrap table表格插件之服務(wù)器端分頁實例代碼
Bootstrap Table是基于Bootstrap的輕量級表格插件,只需要簡單的配置就可以實現(xiàn)強大的支持固定表頭、單復選、排序、分頁、搜索以及自定義表頭等功能。
因公司的項目需要實現(xiàn)用戶管理的表格實現(xiàn),所以選用了bootstrap-table用于動態(tài)獲取后臺的用戶數(shù)據(jù)顯示到前臺。
示例截圖:
客戶端代碼:
//引入的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文件代碼:
//根據(jù)窗口調(diào)整表格高度 $(window).resize(function() { $('#mytab').bootstrapTable('resetView', { height: tableHeight() }) }) //生成用戶數(shù)據(jù) $('#mytab').bootstrapTable({ method: 'post', contentType: "application/x-www-form-urlencoded",//必須要有?。。?! url:"../index.php/admin/index/userManagement",//要請求數(shù)據(jù)的文件路徑 height:tableHeight(),//高度調(diào)整 toolbar: '#toolbar',//指定工具欄 striped: true, //是否顯示行間隔色 dataField: "res",//bootstrap table 可以前端分頁也可以后端分頁,這里 //我們使用的是后端分頁,后端分頁時需返回含有total:總記錄數(shù),這個鍵值好像是固定的 //rows: 記錄集合 鍵值可以修改 dataField 自己定義成自己想要的就好 pageNumber: 1, //初始化加載第一頁,默認第一頁 pagination:true,//是否分頁 queryParamsType:'limit',//查詢參數(shù)組織方式 queryParams:queryParams,//請求服務(wù)器時所傳的參數(shù) sidePagination:'server',//指定服務(wù)器端分頁 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ù)據(jù)格式化 formatter:operateFormatter } ], locale:'zh-CN',//中文支持, responseHandler:function(res){ //在ajax獲取到數(shù)據(jù),渲染表格之前,修改數(shù)據(jù)源 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ù)據(jù)錯誤' } } //請求服務(wù)數(shù)據(jù)時所傳參數(shù) function queryParams(params){ return{ //每頁多少條數(shù)據(jù) 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(){ //可以根據(jù)自己頁面情況進行調(diào)整 return $(window).height() -280; }
傳入后臺的數(shù)據(jù):
后臺傳來的數(shù)據(jù)
只勾選一項,可以修改刪除
勾選多項只能刪除
開發(fā)過程中遇到的問題 (分頁后重新搜素問題)
如果點擊到第二頁,我再搜索框中輸入搜索條件,點擊查詢按鈕,調(diào)用bootstrap table refresh()方法,pageIndex會從第二頁開始,應(yīng)該改為第一頁
網(wǎng)上大多數(shù)方法為 :
$(“#mytab”).bootstrapTable(‘destroy');
先要將table銷毀,否則會保留上次加載的內(nèi)容
……//然后重新初使化表格,相當于重新創(chuàng)建。
因為感覺太過麻煩,所以找了很久終于找到了簡單的解決方法
再點擊查詢按鈕時
$(‘#mytab').bootstrapTable(‘refreshOptions',{pageNumber:1,pageSize:10});//便可以了
代碼地址:https://github.com/hanxue10180/bootstrapTable
總結(jié)
以上所述是小編給大家介紹的bootstrap table表格插件之服務(wù)器端分頁實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- bootstrap table 服務(wù)器端分頁例子分享
- 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)服務(wù)器分頁的示例 (spring 后臺)
- BootStrap Table后臺分頁時前臺刪除最后一頁所有數(shù)據(jù)refresh刷新后無數(shù)據(jù)問題
- Bootstrap table 服務(wù)器端分頁功能實現(xiàn)方法示例
相關(guān)文章
微信小程序?qū)崿F(xiàn)的3d輪播圖效果示例【基于swiper組件】
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)的3d輪播圖效果,結(jié)合實例形式分析了微信小程序基于swiper組件相關(guān)屬性設(shè)置、事件響應(yīng)操作技巧,需要的朋友可以參考下2018-12-12詳解基于Vue cli生成的Vue項目的webpack4升級
這篇文章主要介紹了詳解基于Vue cli生成的Vue項目的webpack4升級,本文將詳細介紹從webpack3到webpack4的升級過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06js showModalDialog參數(shù)的使用詳解
本篇文章主要是對js中showModalDialog參數(shù)的使用進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01uniapp使用uni.chooseLocation()打開地圖選擇位置詳解
這篇文章主要給大家介紹了關(guān)于uniapp使用uni.chooseLocation()打開地圖選擇位置的相關(guān)資料,因為最近在項目中遇到一個要用戶授權(quán)位置且可以用戶自己選擇位置的功能,需要的朋友可以參考下2023-06-06