核心提示:bootstrap服务器端分页及加载数据代码实现教程服务器端实现分页,代码如下:$(function () {var oTable = new TableInit();oTable.Init($(#u...
bootstrap服务器端分页及加载数据代码实现教程
服务器端实现分页,代码如下:
$(function () {
var oTable = new TableInit();
oTable.Init($("#userTable"), '/url', columns);
})
var TableInit = function () {
var table = new Object();
//初始化Table
table.Init = function (ele, url,columns) {
ele.bootstrapTable({
method: 'post',
contentType: "application/json",//必须要有!!!!
url:apiURL+url,//要请求数据的文件路径
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
dataField: "data",
classes: 'table',
pagination: true, //是否显示分页(*)
sortable: false, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: oTableInit.queryParams,//传递参数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [ 10, 15, 20,25], //可供选择的每页的行数(*)
//search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
clickToSelect: true, //是否启用点击选中行
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
columns: columns,
responseHandler: function (res) {
//在ajax获取到数据,渲染表格之前,修改数据源
console.log(res)
return {
total: res.data.total, //总页数,前面的key必须为"total"
data: res.data.list//行数据,前面的key要与之前设置的dataField的值一致.
};
}
});
};
//得到查询的参数
oTableInit.queryParams = function (params) {
var data = {
pageSize: params.limit, //每一页的数据行数,默认是上面设置的10(pageSize)
pageNum: params.offset/params.limit+1, //当前页面,默认是上面设置的1(pageNumber)
param:'',//这里是其他的参数,根据自己的需求定义,可以是多个
}
return data
};
return table;
};
重新渲染表格数据,代码如下:
//默认的total数据总条数和表格数据data
$("#userTable").bootstrapTable('load', {total: total, data: list})


