DataTable插件 后台分页 (服务器端分页)
<script type="text/javascript">
var persontable;
var personQueryCondition = {
//需要的查询条件放到这里来
worksn: "",
name: ""
}
$(document).ready(function () {
persontable = $('#dataTables-custom').DataTable({
dom: '<t><"bp"i><"bp"p><"bp"l>', //需要导出excel时打开
//dom: 'r<t><"dtpgclass"lp><"clear">', //需要导出excel时打开
aLengthMenu: [10, 20, 100, 10000],
language: {
"sProcessing": "数据加载中...",
"sLengthMenu": "每页显示 _MENU_ 条记录",
"sZeroRecords": "没有匹配结果",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "上页",
"sNext": "下页",
"sLast": "末页"
},
"sInfo": "当前显示第 _START_ 至 _END_ 项,共 _TOTAL_ 项",
"sInfoEmpty": "当前显示第 0 至 0 项,共 0 项"
}, //提示信息
serverSide: true,
ajax: function (data, callback, settings) {
var sortinfo = DatablesExtend.getSortInfo(data, settings);
if (sortinfo != null) {
$.extend(personQueryCondition, sortinfo);
}
//排序属性可通过data.order属性获得
$.ajax({
type: "POST",
url: LinkAddress.personQuery,
cache: false, //禁用缓存
data: JSON.stringify(personQueryCondition), //传入组装的参数
contentType: "application/json;",
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", $.cookie('token'));
},
success: function (result) {
if (result.code == 0) {
callback({
draw: data.draw,
data: result.orgs,
recordsTotal: result.total,
recordsFiltered: result.total
});
}
}
});
},
columns: [
{ "data": null, "orderable": false },
{ "data": "worksn" },
{ "data": "name" },
{ "data": "sex" },
{ "data": "irismodeStr" },
{ "data": "orgs" },
{ "data": null }
],
order: [],
columnDefs: [{
"targets": 3,
"render": function (data, type, row, meta) {
if (data == 0) {
return '男';
}
else {
return '女';
}
}
}, {
"targets": 0,
"render": function (data, type, row, meta) {
return "<input type='checkbox' value='" + data.personid + "'>";
}
}, {
"targets": -1,
"render": function (data, type, row, meta) {
var d = data.personid;
var da = JSON.stringify({ personid: data.personid, name: data.name, worksn: data.worksn });
return "<a href='#' data-page='showpersoninfo' data-param=" + d + " onclick='pageRedirect(this)'> 查看 </a><a href='#' data-page='editperson' data-param=" + d + " onclick='pageRedirect(this)'> 编辑 </a><a href='#' data-page='bindingdev' data-param=" + da + " onclick='pageRedirect(this)'> 关联设备 </a><a href='#' data-param=" + d + " onclick='deletea(this)'> 删除 </a>";
}
}],
deferRender: true,
processing: true,
scrollY: '50vh',
scrollCollapse: false,
scroller: {
loadingIndicator: true
},
searching: false,
stateSave: false,
paging: true,
pageLength: 10,
//select: true,
buttons: [{
extend: 'excelHtml5',
title: 'Data export'
}],
});
});
需要查询的时候 只需要执行 : 把查询条件更新一下,然后执行 persontable.ajax.reload(); 这句话就好了
DataTable插件 后台分页 (服务器端分页)的更多相关文章
- datatable表格框架服务器端分页查询设置
更多内容推荐微信公众号,欢迎关注: js代码如下: $('#mytable').dataTable( { "bServerSide": true, //开启服务器模式,使用服务器端 ...
- thinkphp5配合datatable插件分页后端处理程序
thinkphp5配合datatable插件分页后端处理程序第一版DataTable.php v.1.0 <?php use think\Db; /** * DataTable.php. */ ...
- Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示
关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...
- [jQuery]jQuery DataTables插件自定义Ajax分页实现
前言 昨天在博客园的博问上帮一位园友解决了一个问题,我觉得有必要记录一下,万一有人也遇上了呢. 问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分 ...
- 基于bootstrap 的datatable插件的使用(php版)
Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能.详细学习请参考其官网:http://datatables.net/中文网:http:/ ...
- datatables.js 简单使用--多选框和服务器端分页
说明:datatables是一款jQuery表格插件.感觉EasyUI的datagrid更易用 内容:多选框和服务器端分页 缘由:写这篇博客的原因是datatables的文档写的不怎么样,找东西很麻烦 ...
- 分享在MVC3.0中使用jQuery DataTable 插件
前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原 ...
- DataTable插件通过js导出Excel
$('#myTab').DataTable( { serverSide: false,//分页,取数据等等的都放到服务端去. true为后台分页,每次点击分页时会请求后台数据,false为前台分页 d ...
- datatables服务器端分页要点
背景:当要查询大量数据的时候,有datatables自身的分页,明显查询比较慢,这是要使用服务器端分页 参数:"bServerSide": true, "fnServer ...
随机推荐
- CentOS上安装配置Ruby on Rails
0.install sublime editor(optional) ref:http://www.tecmint.com/install-sublime-text-editor-in-linux/ ...
- 【netcore基础】ConcurrentDictionary 使用字符串作为key给代码加锁且使用EF事物防止并发调用数据混乱的问题
业务场景需要锁住指定的字符串下的代码,防止并发创建多个订单 这里我们使用 ConcurrentDictionary 首先初始化一个字典 private static readonly Concurre ...
- C#WinForm窗体内Panel容器中嵌入子窗体、程序主窗体设计例子
C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用 ...
- git使用——推送本地文件到远程仓库
捣鼓了一下午之后总结如下: 1.首先可以照着这个链接里面博主给出的详细方法进行操作和配置: http://www.open-open.com/lib/view/open1454507333214. ...
- 我永远无法学会的dp
起源:在codeforceround518之后我发现别人都会div1A我根本写不出来,所以我决定退役 咕咕咕咕
- react 使用 react-loadable分包
文档 yarn add react-loadable 使用 import Loadable from "@/components/loadable"; const Home = L ...
- jquery怎么实现点击一个按钮控制一个div的显示和隐藏
示例html 1 2 <div class="abc" style="display:none"></div> <input ty ...
- vue2.0 --- vuex (一)
之前做vue项目中没有使用vuex 一直使用vue-router 组件.路由一直的转换,烦不胜烦 今天研究一下vuex vuex是什么: vuex是专门为vue.js应用程序开发的状态管理模式. 解 ...
- Java编程基础篇第四章
循环结构 循环结构的分类 for循环,while循环,do...while()循环 for循环 注意事项: a:判断条件语句无论简单还是复杂结果是boolean类型 b:循环体语句如果是一条语句,大括 ...
- python全栈开发 * 10知识点汇总 * 180612
10 函数进阶 知识点汇总 一.动态参数 形参的第三种1.动态接收位置传参 表达:*args (在参数位置编写 * 表⽰接收任意内容) (1)动态位置参数def eat(*args): print(a ...