加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bootstrap table学习笔记(2) 前后端分页模糊查询

发布时间:2020-12-18 00:37:52 所属栏目:安全 来源:网络整理
导读:在使用过程中,一边看文档一边做,遇到了一些困难的地方,在此记录一下,顺便做个总结: 1、前端分页2、后端分页3、模糊查询 前端分页相当简单,在我添加了2w条测试数据的时候打开的很流畅,没有卡顿。 }); function a () { $('#yourtable').bootstrapTable(

在使用过程中,一边看文档一边做,遇到了一些困难的地方,在此记录一下,顺便做个总结:

1、前端分页 2、后端分页 3、模糊查询

前端分页相当简单,在我添加了2w条测试数据的时候打开的很流畅,没有卡顿。

});
function a () {
$('#yourtable').bootstrapTable({
url: "/user/getUserList/",method:"post",dataType: "json",striped:true,//隔行变色
cache:false,//是否使用缓存
showColumns:false,// 列
pagination: true,//分页
sortable: false,//是否启用排序
singleSelect: false,search:false,//显示搜索框
buttonsAlign: "right",//按钮对齐方式
showRefresh:false,//是否显示刷新按钮
sidePagination: "client",//客户端处理分页 服务端:server
pageNumber:"1",  //启用插件时默认页数
pageSize:"15",  //启用插件是默认每页的数据条数
pageList:[10,25,50,100],  //自定义每页的数量
undefinedText:'--', 
uniqueId: "id",//每一行的唯一标识,一般为主键列
queryParamsType:'',columns: [
{
title: 'ID',field: 'id',align: 'center',valign: 'middle',},{
title: '用户姓名',field: 'name',{
title: '性别',field: 'sex',{
title: '用户账号',field: 'username',{
title: '手机号',field: 'phone',{
title: '邮箱',field: 'email',{
title: '权限',field: 'rolename',{
title: '操作',formatter:function(value,row,index){
              //value 能够获得当前列的值
              //====================================

        var e = '<button href="#" class="btn btn-default" mce_href="#" onclick="edit(''+ row.id + '')"&gt;编辑</button> ';
        var d = '<button href="#" class="btn btn-default" mce_href="#" onclick="del(''+ row.id +'')"&gt;删除</button> ';
        return e+d;
      }
    }
  ]
});

}

考虑到以后的数据会越来越多,前端分页在数据量大的情况下,明显不能满足要求,因此必须要做后端的分页

首先:

sidePagination: "server",//服务器分页

queryParams: queryParams,//传递参数(*)

这里传入了每页显示的条数、以及当前的页数。如果需要查询,则需要传入需要查询的条件。

具体的js如下:

});
function a () {
$('#userListTable').bootstrapTable({
url: "/user/getUserList/",contentType: "application/x-www-form-urlencoded",// 列
toobar:'#toolbar',pagination: true,//是否显示刷新按钮
sidePagination: "server",//服务端处理分页
pageNumber:"1",pageSize:"15",pageList:[10,undefinedText:'--',uniqueId: "id",queryParams: queryParams,//传递参数(*)
columns: [
{
title: 'ID',index){
var e = '<button href="#" class="btn btn-default" mce_href="#" onclick="edit(''+ row.id + '')">编辑 ';
var d = '<button href="#" class="btn btn-default" mce_href="#" onclick="del(''+ row.id +'')">删除 ';
return e+d;
}
}
]
});

//得到查询的参数
function queryParams (params) {
  var temp = {  //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
    pageSize: params.pageSize,};
  return temp;
};

}

//搜索
function serachUser() {
$("#userListTable").bootstrapTable('refresh');
}

*值得注意

的是:

HTML:

不论是初始化表格还是搜索的时候传入后台的数据如下:

pageSize=15 pageNumber=1 username= name= sex= phone= email=

返回数据:

我们要返回两个值: rows total

rows:

我们查询到的数据  

total:

数据总数(此总数指的是所有数据的总数,并不是单页的数量,比如说我有user表中有100条数据,我的limit 0,15,所以我的rows中有15条数据,但是total=100)

有了total总数,加上之前的pageSize以及rows,bootStraptable会为我们自动生成和分页有关的元素:

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!