本文转自:https://www.cnblogs.com/zhangjd/p/7895453.html

效果如图:

一、声明talbe

  <div class="container">
<table id="table" class="table table-bordered">
</table>
</div>

二、JS绑定Table值

当前使用的是服务端分页  sidePagination: "server"  。根据数据库的查询结果绑定table数据每次只查询当前显示的行,适合数据量大的程序;还有一种是客户端分页,是一次性查询出所有的内容,然后再分页,客户端分页的模式适合数据量小的程序。client模式的分页还没研究,这里就不演示了。

    <script type="text/jscript">
$(function () {
$('#table').bootstrapTable({
//请求方法
method: 'get',
//是否显示行间隔色
striped: true,
//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
cache: false,
//是否显示分页(*)
pagination: true,
//是否启用排序
sortable: true,
//排序方式
sortOrder: "asc",
//初始化加载第一页,默认第一页
pageNumber: 1,
//每页的记录行数(*)
pageSize: 10,
//可供选择的每页的行数(*)
pageList: [10, 20, 30, 40],
//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
url: "jgdx.ashx?action=GetJson",
//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
//queryParamsType:'',
//查询参数,每次调用是会带上这个参数,可自定义
queryParams: function (params) {
return {
rows: params.limit, //页面大小
page: (params.offset / params.limit) + 1, //页码
sort: params.sort, //排序列名
sortOrder: params.order //排位命令(desc,asc)
};
},
//分页方式:client客户端分页,server服务端分页(*)
sidePagination: "server",
//是否显示搜索
search: false,
strictSearch: true,
idField: "id",
columns: [{
field: 'rownum',
title: '序号',
align: 'center'
}, {
field: 'dm',
title: '代码',
align: 'center'
}, {
field: 'xm',
title: '姓名',
align: 'center'
}, {
field: 'xb',
title: '性别',
align: 'center'
},{
field: 'mid',
title: '操作',
align: 'center',
formatter: function (value, row, index) {
//通过formatter可以自定义列显示的内容
//value:当前field的值,即id
//row:当前行的数据
var a = '<a href="#" >编辑</a>&nbsp;&nbsp;';
var b = '<a href="#" >删除</a>';
return a + b;
}
}, {
checkbox: true,
visible: true //是否显示复选框
}],
pagination: true
});
});
</script>

三、后台代码:分页需要加上total和row属性,另外需要获取前台传入的rows和page值,来查询需要的行数。

        string sql = "";
DataSet ds = new DataSet();
public void ProcessRequest(HttpContext context)
{
string output = "";
string action = context.Request["action"].ToString();switch (action)
{
case "GetJson":
DataTable dt = getData(context);
string str = DataTableToJsonWithStringBuilder(dt);
output = "{\"total\":" + getCout(context) + ",\"rows\":" + str + "}";
break;default:
break;
} context.Response.ContentType = "text/plain";
context.Response.Write(output);
}public string GetJson(HttpContext context)
{
DataTable dt = getData(context);
return DataTableToJsonWithStringBuilder(dt);
}
public DataTable getData(HttpContext context)
{
int rows = Convert.ToInt32(context.Request["rows"]);//显示行数
int page = Convert.ToInt32(context.Request["page"]);//页码
int starNum = rows * page - rows + 1;//开始行数
int endNum = rows * page;//结束行数
string sql = "select * from (select row_number() over(order by @@servername) as rownum,* from yhgl)a where rownum between " + starNum + " and " + endNum + "";
DataSet ds = pub.GetDataset(sql, "xinxi");
return ds.Tables["xinxi"];
}
public int getCout(HttpContext context)
{
string sql = "select count(*) count from yhgl";
DataSet ds = pub.GetDataset(sql, "xinxi");
return Convert.ToInt32(ds.Tables["xinxi"].Rows[0]["count"]);
}
public string DataTableToJsonWithStringBuilder(DataTable table)
{
var jsonString = new StringBuilder();
if (table.Rows.Count > 0)
{
jsonString.Append("[");
for (int i = 0; i < table.Rows.Count; i++)
{
jsonString.Append("{");
for (int j = 0; j < table.Columns.Count; j++)
{
if (j < table.Columns.Count - 1)
{
jsonString.Append("\"" + table.Columns[j].ColumnName.ToString()
+ "\":" + "\""
+ table.Rows[i][j].ToString() + "\",");
}
else if (j == table.Columns.Count - 1)
{
jsonString.Append("\"" + table.Columns[j].ColumnName.ToString()
+ "\":" + "\""
+ table.Rows[i][j].ToString() + "\"");
}
}
if (i == table.Rows.Count - 1)
{
jsonString.Append("}");
}
else
{
jsonString.Append("},");
}
}
jsonString.Append("]");
}
return jsonString.ToString();
}

[转]C# Bootstrap table之 分页的更多相关文章

  1. bootstrap table 服务器端分页例子分享

    这篇文章主要介绍了bootstrap table 服务器端分页例子分享,需要的朋友可以参考下 1,前台引入所需的js 可以从官网上下载 复制代码代码如下: function getTab(){var ...

  2. 161222、Bootstrap table 服务器端分页示例

    bootstrap版本 为 3.X bootstrap-table.min.css bootstrap-table-zh-CN.min.js bootstrap-table.min.js 前端boot ...

  3. [前端插件]Bootstrap Table服务器分页与在线编辑应用总结

    先看Bootstrap Table应用效果: 表格用来显示数据库中的数据,数据通过AJAX从服务器加载,同时分页功能有服务器实现,避免客户端分页,在加载大量数据时造成的用户体验不好.还可以设置查询数据 ...

  4. C# Bootstrap table之 分页

    效果如图: 一.声明talbe <div class="container"> <table id="table" class="t ...

  5. [转]Bootstrap table后端分页(ssm版)

    原文地址:https://www.cnblogs.com/flyins/p/6752285.html 说明bootstrap table可以前端分页,也可以后端sql用limit分页.这里讲的是后端分 ...

  6. Bootstrap table后端分页(ssm版)

    说明bootstrap table可以前端分页,也可以后端sql用limit分页.这里讲的是后端分页,即实用limit.性能较好,一般均用这种源码下载地址:https://git.oschina.ne ...

  7. Bootstrap table前端分页(ssm版)

    说明bootstrap table可以前端分页,也可以后端sql用limit分页.前端分页下性能和意义都不大,故一般情况下不用这种,请看我的另一篇后端分页的博客源码下载地址:https://git.o ...

  8. bootstrap table 服务器端分页--ashx+ajax

    1.准备静态页面 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-T ...

  9. bootstrap table数据分页查询展示

    index.php <html> <head> <link rel="stylesheet" href="./css/bootstrap.m ...

随机推荐

  1. 右键在目录当前打开命令行cmd窗口

    Win7系统大家习惯“Win+R”的组合键打开命令提示符. 方法/步骤2 通常情况下,我们点击鼠标右键是没有命令行选项的. 方法/步骤3 在桌面上先按住Shift键,然后鼠标右键,出现选项“在此处打开 ...

  2. Android-Kotlin-Activity直接的跳转

    1.选中应用包名packageName,右键: 2.选中Kotlin: 3.创建Kotlin的Activity完成: 第一个Activity,MainActivity package cn.kotli ...

  3. 自动化构建工具gradle安装教程(使用sdkman安装)

    gradle是什么?(wiki解释) Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的 ...

  4. 二、基于kubernetes构建Docker集群环境实战

    kubernetes是google公司基于docker所做的一个分布式集群,有以下主件组成 etcd: 高可用存储共享配置和服务发现,作为与minion机器上的flannel配套使用,作用是使每台 m ...

  5. 背水一战 Windows 10 (41) - 控件(导航类): Frame

    [源码下载] 背水一战 Windows 10 (41) - 控件(导航类): Frame 作者:webabcd 介绍背水一战 Windows 10 之 控件(导航类) Frame 示例Controls ...

  6. 剑指offer编程题Java实现——面试题7相关题用两个队列实现一个栈

    剑指offer面试题7相关题目:用两个队列实现一个栈 解题思路:根据栈的先入后出和队列的先入先出的特点1.在push的时候,把元素向非空的队列内添加2.在pop的时候,把不为空的队列中的size()- ...

  7. IO相关1(io类/流状态)

    IO类: iostream 定义了用于读写流的基本类型,fstream 定义了读写命名文件的类型,sstream 定义了读写内存 string 对象的类型. IO 库类型和头文件: 头文件 类型 io ...

  8. C++调用API获取当前时间

    #include <string> #include<iostream> #include<windows.h> #include <sstream> ...

  9. mysql多列索引

    1,数据库每次查询只能使用一个索引 2,假设数据 表T (a,b,c) rowid 为物理位置rowid a b c(1) 1 1 1(2) 2 1 13(3) 2 2 14(4) 1 3 3(5)  ...

  10. SQL 一对多联表查询最大值

    有两个数据表City表和Price表,CIty表的结构如下: Price表的结构如下: 查询每个城市最大的销售价格,并以最大价格进行降序排列,选取前5条记录,SQL语句的代码如下: * from (s ...