bootstrap table表格插件之服務(wù)器端分頁(yè)實(shí)例代碼
Bootstrap Table是基于Bootstrap的輕量級(jí)表格插件,只需要簡(jiǎn)單的配置就可以實(shí)現(xiàn)強(qiáng)大的支持固定表頭、單復(fù)選、排序、分頁(yè)、搜索以及自定義表頭等功能。
因公司的項(xiàng)目需要實(shí)現(xiàn)用戶管理的表格實(shí)現(xiàn),所以選用了bootstrap-table用于動(dòng)態(tài)獲取后臺(tái)的用戶數(shù)據(jù)顯示到前臺(tái)。
示例截圖:
客戶端代碼:
//引入的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">手機(jī)號(hào):</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",//要請(qǐng)求數(shù)據(jù)的文件路徑 height:tableHeight(),//高度調(diào)整 toolbar: '#toolbar',//指定工具欄 striped: true, //是否顯示行間隔色 dataField: "res",//bootstrap table 可以前端分頁(yè)也可以后端分頁(yè),這里 //我們使用的是后端分頁(yè),后端分頁(yè)時(shí)需返回含有total:總記錄數(shù),這個(gè)鍵值好像是固定的 //rows: 記錄集合 鍵值可以修改 dataField 自己定義成自己想要的就好 pageNumber: 1, //初始化加載第一頁(yè),默認(rèn)第一頁(yè) pagination:true,//是否分頁(yè) queryParamsType:'limit',//查詢參數(shù)組織方式 queryParams:queryParams,//請(qǐng)求服務(wù)器時(shí)所傳的參數(shù) sidePagination:'server',//指定服務(wù)器端分頁(yè) pageSize:10,//單頁(yè)記錄數(shù) pageList:[5,10,20,30],//分頁(yè)步進(jìn)值 showRefresh:true,//刷新按鈕 showColumns:true, clickToSelect: true,//是否啟用點(diǎn)擊選中行 toolbarAlign:'right',工具欄對(duì)齊方式 buttonsAlign:'right',//按鈕對(duì)齊方式 toolbar:'#toolbar',//指定工作欄 columns:[ { title:'全選', field:'select', //復(fù)選框 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:'手機(jī)號(hào)', field:'Tel', }, { title:'郵箱', field:'Email' }, { title:'注冊(cè)日期', 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; } }) //三個(gè)參數(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ù)錯(cuò)誤' } } //請(qǐng)求服務(wù)數(shù)據(jù)時(shí)所傳參數(shù) function queryParams(params){ return{ //每頁(yè)多少條數(shù)據(jù) pageSize: params.limit, //請(qǐng)求第幾頁(yè) 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ù)自己頁(yè)面情況進(jìn)行調(diào)整 return $(window).height() -280; }
傳入后臺(tái)的數(shù)據(jù):
后臺(tái)傳來(lái)的數(shù)據(jù)
只勾選一項(xiàng),可以修改刪除
勾選多項(xiàng)只能刪除
開(kāi)發(fā)過(guò)程中遇到的問(wèn)題 (分頁(yè)后重新搜素問(wèn)題)
如果點(diǎn)擊到第二頁(yè),我再搜索框中輸入搜索條件,點(diǎn)擊查詢按鈕,調(diào)用bootstrap table refresh()方法,pageIndex會(huì)從第二頁(yè)開(kāi)始,應(yīng)該改為第一頁(yè)
網(wǎng)上大多數(shù)方法為 :
$(“#mytab”).bootstrapTable(‘destroy');
先要將table銷毀,否則會(huì)保留上次加載的內(nèi)容
……//然后重新初使化表格,相當(dāng)于重新創(chuàng)建。
因?yàn)楦杏X(jué)太過(guò)麻煩,所以找了很久終于找到了簡(jiǎn)單的解決方法
再點(diǎn)擊查詢按鈕時(shí)
$(‘#mytab').bootstrapTable(‘refreshOptions',{pageNumber:1,pageSize:10});//便可以了
代碼地址:https://github.com/hanxue10180/bootstrapTable
總結(jié)
以上所述是小編給大家介紹的bootstrap table表格插件之服務(wù)器端分頁(yè)實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- bootstrap table 服務(wù)器端分頁(yè)例子分享
- bootstrap-table后端分頁(yè)功能完整實(shí)例
- Bootstrap table分頁(yè)問(wèn)題匯總
- 第一次動(dòng)手實(shí)現(xiàn)bootstrap table分頁(yè)效果
- bootstrap table插件的分頁(yè)與checkbox使用詳解
- BootStrap中Table分頁(yè)插件使用詳解
- BootStrap Table前臺(tái)和后臺(tái)分頁(yè)對(duì)JSON格式的要求
- bootstrap table分頁(yè)模板和獲取表中的ID方法
- 使用bootstraptable插件實(shí)現(xiàn)表格記錄的查詢、分頁(yè)、排序操作
- bootstrap-table實(shí)現(xiàn)服務(wù)器分頁(yè)的示例 (spring 后臺(tái))
- BootStrap Table后臺(tái)分頁(yè)時(shí)前臺(tái)刪除最后一頁(yè)所有數(shù)據(jù)refresh刷新后無(wú)數(shù)據(jù)問(wèn)題
- Bootstrap table 服務(wù)器端分頁(yè)功能實(shí)現(xiàn)方法示例
相關(guān)文章
微信小程序?qū)崿F(xiàn)的3d輪播圖效果示例【基于swiper組件】
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)的3d輪播圖效果,結(jié)合實(shí)例形式分析了微信小程序基于swiper組件相關(guān)屬性設(shè)置、事件響應(yīng)操作技巧,需要的朋友可以參考下2018-12-12詳解基于Vue cli生成的Vue項(xiàng)目的webpack4升級(jí)
這篇文章主要介紹了詳解基于Vue cli生成的Vue項(xiàng)目的webpack4升級(jí),本文將詳細(xì)介紹從webpack3到webpack4的升級(jí)過(guò)程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06JavaScript的9個(gè)陷阱及評(píng)點(diǎn)分析
以下是JavaScript容易犯錯(cuò)的九個(gè)陷阱。雖然不是什么很高深的技術(shù)問(wèn)題,但注意一下,會(huì)使您的編程輕松些,即所謂make life easier. 筆者對(duì)某些陷阱會(huì)混雜一些評(píng)點(diǎn)。2008-05-05js showModalDialog參數(shù)的使用詳解
本篇文章主要是對(duì)js中showModalDialog參數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01uniapp使用uni.chooseLocation()打開(kāi)地圖選擇位置詳解
這篇文章主要給大家介紹了關(guān)于uniapp使用uni.chooseLocation()打開(kāi)地圖選擇位置的相關(guān)資料,因?yàn)樽罱陧?xiàng)目中遇到一個(gè)要用戶授權(quán)位置且可以用戶自己選擇位置的功能,需要的朋友可以參考下2023-06-06