bootStrap-table 后台分页超详解?
来源:互联网 发布:知乎 论坛 安永 编辑:程序博客网 时间:2024/06/05 22:40
最近在学bootStrap ,学的我头都大了,刚刚解决了个bootStrap的table的组件,就想来分享下,方便自己日后查阅,也看能不能让你们学的轻松点。。
首先贴上官网的自夸:
BootStrap Table是基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能。
不过倒也确实厉害,很好看!
接着贴出我弄的效果图:
是不是贼好看呢。。嘿嘿
接下来进入正题吧!!
注:本章只讲解 后台分页。
一、首先,你需要有bootStrap的环境:
<link rel="stylesheet" type="text/css" href="lib/bootstrap/css/bootstrap.css"><link href="lib/bootstrap_table/bootstrap-table.css" rel="stylesheet" type="text/css"><script src="lib/jquery-1.11.1.min.js" type="text/javascript"></script><script src="lib/bootstrap/js/bootstrap.js"></script><script src="lib/bootstrap_table/bootstrap-table.js"></script><!-- 这个汉化包可选,但是必须在bootstrap-table.js后面哦 --><script src="lib/bootstrap_table/bootstrap-table-zh-CN.js"></script>
二、在你的html的某处创建一个标签
<!--id可变的!!--><table id="table_server" ></table>
*这里,为了好看,我加了面板
<div class="panel panel-default"><div class="panel-body"><table id="table_server" ></table></div></div>
三、写js!!
下面直接贴出我的js代码
<script type="text/javascript">$(function () { var t = $("#table_server").bootstrapTable({ url: 'http://localhost:8080/uc/getUserSplit', method: 'get', dataType: "json", striped: true,//设置为 true 会有隔行变色效果 undefinedText: "空",//当数据为 undefined 时显示的字符 pagination: true, //分页 // paginationLoop:true,//设置为 true 启用分页条无限循环的功能。 showToggle: "true",//是否显示 切换试图(table/card)按钮 showColumns: "true",//是否显示 内容列下拉框 pageNumber: 1,//如果设置了分页,首页页码 // showPaginationSwitch:true,//是否显示 数据条数选择框 pageSize: 5,//如果设置了分页,页面数据条数 pageList: [5, 10, 20, 40],//如果设置了分页,设置可供选择的页面数据条数。设置为All 则显示所有记录。 paginationPreText: '‹',//指定分页条中上一页按钮的图标或文字,这里是< paginationNextText: '›',//指定分页条中下一页按钮的图标或文字,这里是> // singleSelect: false,//设置True 将禁止多选 search: false, //显示搜索框 data_local: "zh-US",//表格汉化 sidePagination: "server", //服务端处理分页 queryParams: function (params) {//自定义参数,这里的参数是传给后台的,我这是是分页用的 return {//这里的params是table提供的 cp: params.offset,//从数据库第几条记录开始 ps: params.limit//找多少条 }; }, idField: "userId",//指定主键列 columns: [ { title: '#',//表的列名 field: 'userId',//json数据中rows数组中的属性名 align: 'center'//水平居中 }, { title: '账号', field: 'loginName', align: 'center' }, { title: '真实姓名', field: 'realName', align: 'center' }, { //EMAIL title: '邮箱', field: 'email', align: 'center' }, { //部门名字 title: '部门', field: 'dept.dname',//可以直接取到属性里面的属性,赞 align: 'center' }, { title: '状态', field: 'userStatus', align: 'center', formatter: function (value, row, index) {//自定义显示,这三个参数分别是:value该行的属性,row该行记录,index该行下标 return row.userStatus == 0 ? "正常" : row.userStatus == 1 ? "请假" : "离职"; } }, { title: '操作', field: 'userId', align: 'center', formatter: function (value, row, index) {//自定义显示可以写标签哦~ return '<a href="#" mce_href="#" onclick="edit(\'' + row.userId + '\')">操作</a> '; } } ] }); t.on('load-success.bs.table', function (data) {//table加载成功后的监听函数 console.log("load success"); $(".pull-right").css("display", "block"); });});</script>
*以上部分注释来自bootstrap-table官方文档:点击打开链接
四、给出我的json数据格式:
{ "page": 1, "rows": [ { "dept": { "deptDesc": "", "deptno": 10, "dname": "销售部" }, "loginName": "lisi", "loginPwd": "456", "realName": "李四", "userId": 3, "userStatus": "0" }, { "dept": { "$ref": "$.rows[0].dept" }, "loginName": "wangwu", "loginPwd": "789", "realName": "王五", "userId": 4, "userStatus": "0" }, { "dept": { "$ref": "$.rows[0].dept" }, "loginName": "zhaoliu", "loginPwd": "111", "realName": "赵六", "userId": 5, "userStatus": "0" }, { "dept": { "deptno": 20, "dname": "华南区域" }, "loginName": "fanqi", "loginPwd": "222", "realName": "范七", "userId": 6, "userStatus": "0" }, { "dept": { "$ref": "$.rows[3].dept" }, "loginName": "maoba", "loginPwd": "333", "realName": "毛八", "userId": 7, "userStatus": "0" } ], "total": 11}
五、后台返回的数据的包装类
public class TableSplitResult<T> implements Serializable{ private Integer page; private Integer total; private T rows; public TableSplitResult() { } public TableSplitResult(Integer page, Integer total, T rows) { this.page = page; this.total = total; this.rows = rows; } public Integer getPage() { return page; } public void setPage(Integer page) { this.page = page; } public Integer getTotal() { return total; } public void setTotal(Integer total) { this.total = total; } public T getRows() { return rows; } public void setRows(T rows) { this.rows = rows; }}
六、问题以及总结
1.不知道大家有没有发现并且疑惑那个js代码底部那个方法里面的
$(".pull-right").css("display", "block");因为我配置完成并显示数据的时候数据是分页了,但是分页条一直没显示不出来审查元素后发现它的display竟然等于none!
这我当然不能忍啦,在各种属性尝试加上百度谷歌折腾了三个小时后,依旧百撕不得骑姐,只好出此下下策,在表格load完成后多分页对display属性改成block。。。
虽说过程很颠簸,但是看着这么好看的分页,还是蛮爽的。。哈哈哈
2.如果大家知道上面那个问题怎么解决,一定要告诉我啊!!
3。大家记得后台返回数据的时候要带上page和total属性啊!!
4.希望看官们不要吝啬赞美与批评哟
七、
谢谢观看,第一次写博客,可能写得不大好,但是还是希望对你有用。。
阅读全文
1 0
- bootStrap-table 后台分页超详解?
- bootstrap table 后台分页时, 后台传字段排序
- bootstrap Table 后台交互
- bootStrap table实现分页
- BootStrap-Table 分页
- Bootstrap Table分页例子
- bootstrap-table后端分页
- bootstrap-table分页问题
- bootstrap table 分页
- bootstrap table 分页例子
- BootStrap table分页
- bootstrap-table分页
- ssm分页+bootstrap-table
- bootstrap-table分页小结
- bootstrap-table 分页
- bootstrap-table 分页
- bootstrap-table真分页
- bootstrap table 分页,客户端分页
- pytho作线性拟合、多项式拟合、对数拟合
- 学习CSS自定义属性
- IDEA去除代码重负导致的波浪黄线
- 英语-如何学习
- laravel5.4Excel导入导出,Excel数据导入并把失败数据导出
- bootStrap-table 后台分页超详解?
- MySQL_004_基础_时间日期
- 享受还是行走,这是一个问题。
- Java IO 流分类详解与常用流用法实例
- Redis
- activiti
- Ext JS定义一个新类
- 网易2018内推编程题——操作序列
- Java并发编程(一)——挑战