bootstrap-table服务端分页操作

由于数据库查询的数据过多,所以采取服务端分页的操作,避免一次性加载的数据量过多,导致页面加载缓慢。

后端数据的封装格式json数据

rows里的数据是当前页的数据,total是总条数:

{
    "total": 200,
    "rows": [{
        "name": "张三",
        "age": 23
    }, {
        "name": "张三",
        "age": 23
    }]
}

其中

total:是查询的数据总条数,可以自定义;

row:返回的是数据内容;

前端bootstrap-table接收

1.页面上定义表格加载的位置

<table quaTable"   >
</table>

2.js脚本里加载bootstrap-table的内容

var queryParams = function (params) {
    var param = {
         //每页多少条数据
            pageSize: params.limit,
            //请求第几页
            pageIndex:params.offset+1,
            task_title :$("#query_task_title").val(),
            req_no :$("#query_req_no").val()
    }
    return param;
}

function queryData(){
    $("#quaTable").bootstrapTable(\'destroy\'); //在初始化table之前,要将table销毁,否则会保留上次加载的内容
    $(\'#quaTable\').bootstrapTable({
        url: "/defect/getList", //请求后台的URL(*)
        method: \'post\',                      //请求方式(*)
        contentType : "application/x-www-form-urlencoded",
        toolbar: \'#toolbar\', 
        striped: true,                      //是否显示行间隔色
        queryParams: //传递参数(*)
                function (params) {
                    var param = {
                           //每页多少条数据
                            pageSize: params.limit,
                            //请求第几页
                            pageIndex:params.offset+1,
                            task_title :$("#query_task_title").val(),
                            req_no :$("#query_req_no").val()
                            }
                            return param;
                    },
        clickToSelect: true,                //是否启用点击选中行
        pagination: true,
        //分页方式:client客户端分页,server服务端分页(*)
        sidePagination: "server",
        pageList: [10, 15, 20, 25, 30], 
        pageNumber:1, 
        pageSize: 10,
        columns:
            [ {field: \'selectItem\', radio: true},
              {title: \'姓名\', field: \'name\' },
              {title: \'年龄\', field: \'age\'}
            ],  
        responseHandler:function (res) {
            return {
            "rows": res.rows,
            "total": res.total
            };              
        },
        showExport: true,
        onPostBody : function(){
            $("#quaTable tbody tr:nth-child(odd)").addClass("oddColor");
        },
        onLoadSuccess : function() { //加载成功时执行  
            $(\'#quaTable\').bootstrapTable(\'hideColumn\', \'RESPONSIBLE_PERSON\');
        }
    });