bootstrap-table + bootstrap-paginator + PageHelper +springmvc 进行分页

1.引入js

  <script type="text/javascript" src="assets/js/jquery.min.js"></script>  
<script src="assets/js/bootstrap.min.js"></script>
 <script src="assets/js/bootstrap-table.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap-paginator.min.js"></script>

  2.页面

<table id="busDataTable" style="table-layout:fixed;"  data-toggle="table" >
              </table>
              <div id="Paginator" style="text-align: center"> <ul id="pageLimit"></ul> </div>

  3.添加js

  1 $(function(){
  2 //初始化表格
  3       $('#busDataTable').bootstrapTable({
  4           height: 550,
  5           columns: [
  6             [{
  7              title: '车次',
  8               field: 'busNum',
  9               align: 'center',
 10               valign: 'middle'
 11             }, {
 12               title: '出发地',
 13               field: 'departure',
 14               align: 'center',
 15               valign: 'middle'
 16             },{
 17                 title: '目的地',
 18                 field: 'destination',
 19                 align: 'center',
 20                 valign: 'middle'
 21             }, {
 22                 title: '出发日期',
 23                 field: 'departureDate',
 24                 align: 'center',
 25                 valign: 'middle'
 26             }, {
 27                 title: '出发时间',
 28                 field: 'departureTime',
 29                 align: 'center',
 30                 valign: 'middle',
 31                 formatter: timeFormatter
 32             }, {
 33                 title: '到达时间',
 34                 field: 'arrivalTime',
 35                 align: 'center',
 36                 valign: 'middle',
 37                 formatter: timeFormatter
 38             }, {
 39                 title: '价钱',
 40                 field: 'price',
 41                 align: 'center',
 42                 valign: 'middle',
 43                 formatter: priceFormatter
 44             },{
 45                 title: '座位',
 46                 field: 'seat',
 47                 align: 'center',
 48                 valign: 'middle',
 49                 formatter: seatFormatter
 50             },{
 51                 title: '里程',
 52                 field: 'mileage',
 53                 align: 'center',
 54                 valign: 'middle',
 55                 formatter: mileageFormatter
 56             },
 57             
 58             {
 59               field: 'operate',
 60               title: '操作',
 61               align: 'center',
 62               formatter: operateFormatter
 63             }]
 64           ]
 65         })
 66       function timeFormatter(value, row, index) {
 67           var obj =value.split(":");
 68           return obj[0]+":"+obj[1];
 69       }
 70       function priceFormatter(value, row, index) {
 71           return "¥"+value;
 72       }
 73       function seatFormatter(value, row, index) {
 74           return value+"个";
 75       }
 76       function mileageFormatter(value, row, index) {
 77           return value+"km";
 78       }
 79       
 80       function operateFormatter(value, row, index) {
 81             var op='<button class=" btn btn-success btn-lg" onClick="del(\''+row.id+'\')">预订</button>';
 82             return op;
 83       }
 84       
 85     //初始化页面
 86     getPageOfMemo(1);
 87     
 88     // 分页函数
 89     function getPageOfMemo(page) {
 90         var element = $('#pageLimit');
 91         element.html("");        //清空分页
 92         var pageSize = 5;   //每页的数量
 93         //搜索值 pageNum:当前页   pageSize:每页的数量
 94         var aQuery = {'pageNum':page,'pageSize':pageSize};
 95  96         $.ajax({
 97             url: "buslist", 
 98             type:'post', 
 99             data: aQuery,
100             success: function(data){
101                 if (data.list != null) {
102                     //写入页面数据
103                     $('#busDataTable').bootstrapTable('load',data.list);
104                     
105                     var options = {        //分页
106                         bootstrapMajorVersion : 3,        //版本
107                         currentPage : data.pageNum, // 当前页数
108                         numberOfPages : 10, // 显示按钮的数量
109                         totalPages : data.pages, // 总页数
110                         itemTexts : function(type, page, current) {
111                             switch (type) {            
112                             case "first": return "首页";            
113                             case "prev": return "上一页";            
114                             case "next": return "下一页";            
115                             case "last": return "末页";            
116                             case "page": return page;
117                         }
118                         },
119                         // 点击事件,用于通过Ajax来刷新整个list列表
120                         onPageClicked : function(event, originalEvent, type, page) {
121                             getPageOfMemo(page);
122                         }
123                     };
124                     element.bootstrapPaginator(options);
125                 }
126             },
127             error: function(){
128                  alert("请求出错!");
129             }
130         });
131     };
132   })

4.controller

//需要导入jsqlparser-1.0.jar 和pagehelper-5.1.2.jar
	@RequestMapping("buslist")
	@ResponseBody
	public PageInfo<Bus> busInfoList(
			@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) {
		PageHelper.startPage(pageNum, pageSize);
		List<Bus> list = busServiceImpl.busList(); //查询所有的数据 select* from bus,PageHelper工具类自动分页

PageInfo<Bus> info = new PageInfo<>(list);
        return info;

}

  

5.效果

 

 

 

需要注意:

1.使用$('#busDataTable').bootstrapTable({})初始化表格时,不需要再进行url检索,只用设置表格样式。
2.使用ajax进行数据检索,把得到的数据加载到表格中。$('#busDataTable').bootstrapTable('load',data.list);

 

posted @ 2020-08-25 11:41  小花徐  阅读(484)  评论(0编辑  收藏  举报