bootstraptable学习(2)分页
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)分页的更多相关文章
- 基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持
在我们开发系统界面,包括Web和Winform的都一样,主要的界面就是列表展示主界面,编辑查看界面,以及一些辅助性的如导入界面,选择界面等,其中列表展示主界面是综合性的数据展示界面,一般往往需要对记录 ...
- Bootstrap-table学习笔记(二)——前后端分页模糊查询
在使用过程中,一边看文档一边做,遇到了一些困难的地方,在此记录一下,顺便做个总结: 1,前端分页 2,后端分页 3,模糊查询 前端分页相当简单,在我添加了2w条测试数据的时候打开的很流畅,没有卡顿. ...
- bootstrap-table.js扩展分页工具栏,增加跳转到xx页
新项目,准备引用bootstrap-table这个控件来展示页面上的表格,无奈这款控件的分页工具栏没有跳转到xx页的功能,为了适应公司美工(只会出图的美工,却跟我要求这要求那)的蛋疼需求,硬着头皮改了 ...
- Bootstrap插件系列——Bootstrap-table初始化、分页、客户端搜索、服务端搜索
又好久不写博客,最近项目都是用的bootstrap的样式,不出意外,应该是要在bootstrap的道路上越走越远了,所以下定决心,把bootstrap的插件都好好学学. 昨天写了boostrap-ta ...
- bootstrapTable 学习使用
Bootstrap离线API Bootstrap Table 离线API <input type="button" id="btn_searcher" v ...
- 修改bootstrap-table中的分页样式
使用bootstrap-table时,使用$("")选择器没办法选中下方的分页button按钮,可能跟它是动态生成的有关吧. 最终找到与之对应的js(bootstrap-table ...
- 关于bootstrap-table服务端分页问题
昨天项目中涉及到了前端表格分页问题.数据一共有1万多条,所以选择了后端分页. 之前用的都是前端分页,第一次使用后端分页.网上也找到了一些例子,最后做出来了. 这里用的是bootstrap-table插 ...
- bootstrap-table学习
参考学习 http://bootstrap-table.wenzhixin.net.cn/getting-started/ 包括Bootstrap库(如果你的项目没有使用它)和bootstrap-t ...
- bootstrap-table服务端分页操作
由于数据库查询的数据过多,所以采取服务端分页的操作,避免一次性加载的数据量过多,导致页面加载缓慢. 后端数据的封装格式json数据 rows里的数据是当前页的数据,total是总条数: { " ...
随机推荐
- MACOS-Can't-connect-to-local-MySQL-server-through-socket-'/tmp/mysql.sock'
mac os start mysql fail by "brew services start mysql"you can try : mysql.server start
- MySQL Config--参数system_time_zone和参数time_zone
全局参数system_time_zone系统时区,在MySQL启动时会检查当前系统的时区并根据系统时区设置全局参数system_time_zone的值. The system time zone. W ...
- Singer 学习三 使用Singer进行mongodb 2 postgres 数据转换
Singer 可以方便的进行数据的etl 处理,我们可以处理的数据可以是api 接口,也可以是数据库数据,或者 是文件 备注: 测试使用docker-compose 运行&&提供数据库 ...
- Unity Blog 学习
The Profiler window https://unity3d.com/cn/learn/tutorials/temas/performance-optimization/profiler-w ...
- 关于C# winform怎么调用webapi来获取到json数据
C/S系统也可以和B/S系统一样实现“前后端分离”,那这样写winform就相当于纯粹的前端页面了,然后再单独部署一个webapi项目,通过api调用数据库进行数据的操作,有利于维护和数据安全性的提高 ...
- AD10 没有原理图是否可以修改 PCB
AD10 没有原理图是否可以修改 PCB 有朋友问 AD 是否可以在没有原理的情况下修改 PCB 呢? 答案是肯定的,可以. 比如增加元件和网络,可以先增加元件封装,再打开网络管理给焊盘加上网络. 相 ...
- 寻找“最好”(4)——不等约束和KKT条件
不等约束 上篇文章介绍了如何在等式约束下使用拉格朗日乘子法,然而真实的世界哪有那么多等式约束?我们碰到的大多数问题都是不等约束.对于不等约束的优化问题,可以这样描述: 其中f(x)是目标函数,g(x) ...
- 使用apache cxf实现webservice服务
1.在idea中使用maven新建web工程并引入spring mvc,具体可以参考https://www.cnblogs.com/laoxia/p/9311442.html; 2.在工程POM文件中 ...
- mysql之 mysql_config_editor/login-path 登录密码保护
login-path是MySQL5.6开始支持的新特性.通过借助mysql_config_editor工具将登陆MySQL服务的认证信息加密保存在.mylogin.cnf文件(默认位于用户主目录) . ...
- elasticsearch:shard 和 replica 机制
shard 和 replica 机制: index包含多个shard 每个shard都是一个最小工作单元,承载部分数据,lucene实例,完整的建立索引和处理请求的能力 增减节点时,shard会自动在 ...