Datatables(1.10以上版本)服务器端分页(Java)
来源:互联网 发布:java观察者设计模式 编辑:程序博客网 时间:2024/05/16 15:08
Html:
<table class="table table-striped table-bordered table-hover table-condensed" id="ou-table"><thead><tr> <th>序号</th> <th>名称</th> <th>部门领导</th> <th>标识</th> <th>上级组织</th> <th>操作</th></tr></thead><tbody></tbody></table>
js:
$('#ou-table').dataTable({ "processing": true, "serverSide": true,//启用服务器端分页 "destroy": true, "pageLength": 10, "ordering": false, // "renderer": "bootstrap",//渲染样式:Bootstrap和jquery-ui "pagingType": "simple_numbers",//分页样式:simple,simple_numbers,full,full_numbers "autoWidth": true, "stateSave": true,//保持翻页状态,和comTable.fnDraw(false);结合使用 "searching": true,//datatables默认搜索 "ajax": { "url": "/ou/getOus", "type": 'POST', "data": function (d) { var param = {}; param.draw = d.draw; param.start = d.start; param.length = d.length; param.search=d.search.value; param.ou=ou; return param;//自定义需要传递的参数。 }, "dataSrc": function (str) { var data; if (typeof str === 'object') { data = str; } else { data = eval("(" + str + ")"); } var datas=data.data; for(var i=0,l=datas.length;i<l;i++){ if(!datas[i].hasOwnProperty("managedBy")){ datas[i].managedBy=""; } } return str.data; } }, "columns": [ {"data": null}, {"data": "name"}, {"data": "managedBy"}, {"data": "uid", "visible": false}, {"data": "pid"}, {"data": null} ], columnDefs: [ { targets: 0, defaultContent: "<input type='checkbox' name='checkList'>" }, { targets: -1, defaultContent: "<div class='btn-group'>"+ "<button id='oueditRow' class='btn btn-primary btn-sm' type='button'><i class='glyphicon glyphicon-user'></i></button>"+ "<button id='oudelRow' class='btn btn-primary btn-sm' type='button'><i class='glyphicon glyphicon-edit'></i></button>"+ "</div>" } ], //在每次table被draw完后调用 fnDrawCallback: function(){ var api = this.api(); //获取到本页开始的条数 var startIndex= api.context[0]._iDisplayStart; api.column(0).nodes().each(function(cell, i) { cell.innerHTML = startIndex + i + 1; }) }, "language": { "lengthMenu": "每页 _MENU_ 条记录", "processing": "数据加载中...", "paginate": { "previous": "上一页", "next": "下一页" }, "zeroRecords": "没有找到符合条件的数据", // "info": "第 _PAGE_ 页 ( 总共 _PAGES_ 页 )", "info": "当前显示第 _START_ 到 _END_ 项, 共 _TOTAL_ 项", "infoEmpty": "无记录", "infoFiltered": "(从 _MAX_ 条记录过滤)", "search": "搜索:" } });
后台:
@RequestMapping(value="/getOus",produces = "text/json;charset=UTF-8") @ResponseBody public JSONObject getOus(HttpServletRequest request, QueryCondition query){ System.out.println(query.toString()); List<OU> ous=ouService.getOuByQuery(query); DatatablesView<OU> dataTable=new DatatablesView<>(); dataTable.setDraw(query.getDraw()); dataTable.setRecordsFiltered(ouService.getOuSize(query)); dataTable.setRecordsTotal(ouService.getOuSize(query)); dataTable.setData(ous); // String data = JSON.toJSONString(dataTable); // System.out.println(data.toString()); JSONObject data=(JSONObject)JSON.toJSON(dataTable); System.out.println(data.toString()); return data; }
public class DatatablesView<T> { private List<T> data; //data 与datatales 加载的“dataSrc"对应 private int recordsTotal; private int recordsFiltered; private int draw; public DatatablesView() { }recordsTotal、recordsFiltered、draw必须返回给前台,query是前台自定义的参数,当然可以通过request获取datatables默认的参数
出现过下面这种情况,是后台返回的是string,前台接收后解析格式不对,后来改成后台返回json解决
如果出现页码只有一页实际有多页的问题,recordsTotal、recordsFiltered参数值应该是总的查询条数,而非过滤的条数
返回前台的数据格式
{"recordsFiltered":15,"data":[ {"uid":"","name":"拆迁管理中心","pid":"","managedBy":""}, {"uid":"","name":"审计监察中心","pid":","managedBy":""}, {"uid":"","name":"立项及专规申报中心","pid":"","managedBy":""}, {"uid":"","name":"测试部1","pid":"","managedBy":""}, {"uid":"","name":"测试部2","pid":"","managedBy":""} ],"draw":4,"recordsTotal":15}
阅读全文
0 0
- Datatables(1.10以上版本)服务器端分页(Java)
- datatables服务器端分页查询
- Datatables 服务器端分页
- DataTables服务器端分页
- datatables+java实现服务器端分页,排序,查询,列的显示影藏
- datatables+java实现服务器端分页,排序,查询,列的显示影藏
- datatables.js 简单使用--多选框和服务器端分页
- datatables.js 简单使用--多选框和服务器端分页
- 使用vue和datatables进行表格的服务器端分页
- DataTables-1.10.15 服务器端使用教程
- Datatables.Net服务器端分页,客户与服务器端的交互过程数据
- 分页存储过程sql2005以上版本
- sql2005及以上版本数据库分页
- DataTables—服务器端翻页
- datatables 带查询条件java服务端分页处理
- datatables的服务器分页
- JS----dataTables分页排序
- DataTables插件分页
- Odoo(OpenERP)学习资源
- 随机森林原理及参数调优
- Java 基础面试题设计(可以绝杀90%的开发人员)---powerdby wy
- Ubuntu安装及挂载AWS文件共享流程
- C++ ORM 之 Hiberlite 的介绍及使用
- Datatables(1.10以上版本)服务器端分页(Java)
- Kotlin代理属性--官方文档翻译
- git 拉取远程指定分支 pull本地不存在的分支
- 处理Spring boot 跨域问题-(转)
- 如何将ojdbc14安装到本地库
- 史上最全的架构师图谱
- 快速幂
- MySql 5.7中添加用户,新建数据库,用户授权,删除用户,修改密码,导入导出sql文件,设置字符集
- Chrome 屏蔽广告