1.分页需要配置一些参数

 function init() {
$('#bootstrapModel').bootstrapTable({
url: "../Listing.ashx",
contentType: "application/x-www-form-urlencoded",
method: 'post',
pagination: true, //是否分页
sidePagination: "server", //服务器端分页
pageNumber: 1,//初始化加载第一页,默认第一页
pageSize: 5, //页面显示数据条数
pageList: [3, 5, 7, 9], //可供选择的页面显示条数
queryParamsType: "", //设置为 'limit' 则会发送符合 RESTFul 格式的参数。
queryParams: queryParams, columns: [
{
field: 'ProductID',
title: '编号'
}, {
field: 'Name',
title: '产品名称'
}, {
field: 'Description',
title: '描述'
}, {
field: 'Price',
title: '价格'
} ]
});
} function queryParams(params) {
return {
pageSize: params.pageSize,
pageNumber: params.pageNumber
}
}

2.可以看到bootstraptable需要我们提供2个重要的参数,一个是pageSize,一个是pageNumber,而这两个值在参数params中能够直接取到,下面是官方api

3.但是还有一个totalCount需要后台的json传递给bootstraptable,下面是后台封装json的方法

  public void ProcessRequest(HttpContext context)
{ //context.Response.ContentType = "text/plain"; int pageNumber =Convert.ToInt32( context.Request["pageNumber"]);
int pageSize =Convert.ToInt32( context.Request["pageSize"]); var productList = repo.Products.ToList().
Skip((pageNumber-)*pageSize).Take(pageSize);
var count = repo.Products.ToList().Count(); var result = new { total = count, rows = productList };
var productListJson = JsonConvert.SerializeObject(result);
context.Response.Write(productListJson);
}

完成以上步骤的话应该就没什么问题了

4.如果queryParamsType设置为'limit'的话,表示需要传递一个offset偏移量,就是跳过多少条,是bootstraptable帮我们计算好了的,相当于(pageNumber-1)*pageSize

 function init() {
$('#bootstrapModel').bootstrapTable({
url: "../Listing.ashx",
contentType: "application/x-www-form-urlencoded",
method: 'post',
pagination: true, //是否分页
sidePagination: "server", //服务器端分页
pageNumber: 1,//初始化加载第一页,默认第一页
pageSize: 5, //页面显示数据条数
pageList: [3, 5, 7, 9], //可供选择的页面显示条数
queryParamsType: 'limit', //设置为 'limit' 则会发送符合 RESTFul 格式的参数。
queryParams: queryParams, columns: [
{
field: 'ProductID',
title: '编号'
}, {
field: 'Name',
title: '产品名称'
}, {
field: 'Description',
title: '描述'
}, {
field: 'Price',
title: '价格'
} ]
});
} //function queryParams(params) {
// return {
// pageSize: params.pageSize,
// pageNumber: params.pageNumber
// }
//} function queryParams(params) {
var temp = {
pageSize: params.limit, //页面有多少条
offset: params.offset //跳过多少条
};
return temp;
}

后台相应修改为

 public void ProcessRequest(HttpContext context)
{ //context.Response.ContentType = "text/plain"; int offset = Convert.ToInt32( context.Request["offset"]);
int pageSize =Convert.ToInt32( context.Request["pageSize"]); //var productList = repo.Products.ToList().
// Skip((pageNumber-1)*pageSize).Take(pageSize);
var productList = repo.Products.ToList().
Skip(offset).Take(pageSize);
var count = repo.Products.ToList().Count(); var result = new { total = count, rows = productList };
var productListJson = JsonConvert.SerializeObject(result);
context.Response.Write(productListJson);
}

bootstraptable学习(2)分页的更多相关文章

  1. 基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持

    在我们开发系统界面,包括Web和Winform的都一样,主要的界面就是列表展示主界面,编辑查看界面,以及一些辅助性的如导入界面,选择界面等,其中列表展示主界面是综合性的数据展示界面,一般往往需要对记录 ...

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

    在使用过程中,一边看文档一边做,遇到了一些困难的地方,在此记录一下,顺便做个总结: 1,前端分页 2,后端分页 3,模糊查询 前端分页相当简单,在我添加了2w条测试数据的时候打开的很流畅,没有卡顿. ...

  3. bootstrap-table.js扩展分页工具栏,增加跳转到xx页

    新项目,准备引用bootstrap-table这个控件来展示页面上的表格,无奈这款控件的分页工具栏没有跳转到xx页的功能,为了适应公司美工(只会出图的美工,却跟我要求这要求那)的蛋疼需求,硬着头皮改了 ...

  4. Bootstrap插件系列——Bootstrap-table初始化、分页、客户端搜索、服务端搜索

    又好久不写博客,最近项目都是用的bootstrap的样式,不出意外,应该是要在bootstrap的道路上越走越远了,所以下定决心,把bootstrap的插件都好好学学. 昨天写了boostrap-ta ...

  5. bootstrapTable 学习使用

    Bootstrap离线API Bootstrap Table 离线API <input type="button" id="btn_searcher" v ...

  6. 修改bootstrap-table中的分页样式

    使用bootstrap-table时,使用$("")选择器没办法选中下方的分页button按钮,可能跟它是动态生成的有关吧. 最终找到与之对应的js(bootstrap-table ...

  7. 关于bootstrap-table服务端分页问题

    昨天项目中涉及到了前端表格分页问题.数据一共有1万多条,所以选择了后端分页. 之前用的都是前端分页,第一次使用后端分页.网上也找到了一些例子,最后做出来了. 这里用的是bootstrap-table插 ...

  8. bootstrap-table学习

    参考学习  http://bootstrap-table.wenzhixin.net.cn/getting-started/ 包括Bootstrap库(如果你的项目没有使用它)和bootstrap-t ...

  9. bootstrap-table服务端分页操作

    由于数据库查询的数据过多,所以采取服务端分页的操作,避免一次性加载的数据量过多,导致页面加载缓慢. 后端数据的封装格式json数据 rows里的数据是当前页的数据,total是总条数: { " ...

随机推荐

  1. 访问 iframe 内部控件方法

    方法虽然简单,但是经常忘记,网上一查,很多方法兼容性都有问题,这段代码至少兼容IE和Chrome setInterval(function(){ document.getElementById('ma ...

  2. Unity项目架构设计与开发管理 学习

    视频地址:https://v.qq.com/x/page/d016340mkcu.html assetstore save manager

  3. webpack报错:Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find module 'babel-preset-env' from '...' - Did you mean "@babel/env"?

    webpack报错:Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find mo ...

  4. oauth 2.0 授权流程图

    1.授权码模式(authorization code) 7 步  后面 拿到授权码以后,就是向 资源服务器请求资源了. 2.简化模式(implicit): 在上面的第4 步的返回中,已经包含了 acc ...

  5. bzoj 2553 [BeiJing2011]禁忌——AC自动机+概率DP+矩阵

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2553 看了题解才会…… 首先,给定一个串,最好的划分方式是按禁忌串出现的右端点排序,遇到能填 ...

  6. JFrame添加组件

    jframe.add(button) 与 jframe.getContentPane().add(button) 结果是一样的, 都是将组件添加到jframe自带的容器ContentPane中.

  7. HTMLParser 笔记

    # 关于html.parse.HTMLParser的使用 from html.parser import HTMLParser class MyHtmlParser(HTMLParser): # 使用 ...

  8. python 字符串格式化—format

    Python2.6 开始,新增了一种格式化字符串的函数 str.format().使用起来简单方便,不会遇到使用%时候格式的选择问题. 按照参数默认顺序 >>> "yesd ...

  9. MySQL的瑞士军刀

    这里主要讲mysql运维中的一些主要工具,这些工具可能大家都用过,特别是系统管理员或者做linux服务器维护的同学可能都知道这些小工具,这里讲得会比较多一些,除了系统监控的小工具,还包括一些mysql ...

  10. 查看耗时长,CPU 100% 的SQL

    [session_id], [request_id], [start_time] AS '开始时间', [status] AS '状态', [command] AS '命令', dest.[text] ...