DateTables的服务器分页
function InitTable() { var table = $('#tbl_users').DataTable(); if ($.fn.dataTable.isDataTable('#tbl_users')) {
table.destroy();
} $("#txt_key").keyup(function () {
$("#txt_deptid").val('');
table.ajax.reload();
}); $('#tbl_users').unbind();
$('#tbl_users').on('click', 'tr', function () { $(this).toggleClass('selected');
}); //提示信息
var lang = {
"sProcessing": "处理中...",
"sLengthMenu": "每页 _MENU_ 项",
"sZeroRecords": "没有匹配结果",
"sInfo": "当前显示第 _PAGE_ 共 _PAGES_ 页,共 _TOTAL_ 项。",
"sInfoEmpty": "当前显示第 0 至 0 项,共 0 项",
"sInfoFiltered": "(由 _MAX_ 项结果过滤)",
"sInfoPostFix": "",
"sSearch": "搜索:",
"sUrl": "",
"sEmptyTable": "表中数据为空",
"sLoadingRecords": "载入中...",
"sInfoThousands": ",",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "上页",
"sNext": "下页",
"sLast": "末页",
"sJump": "跳转"
},
"oAria": {
"sSortAscending": ": 以升序排列此列",
"sSortDescending": ": 以降序排列此列"
}
}; //初始化表格
table = $("#tbl_users").dataTable({ language: lang, //提示信息
autoWidth: false, //禁用自动调整列宽
processing: true, //隐藏加载提示,自行处理
serverSide: true, //启用服务器端分页
searching: false, //禁用原生搜索
orderMulti: false, //启用多列排序
ordering: true,//禁止排序
order: [], //取消默认排序查询,否则复选框一列会出现小箭头 dom: 'frtip',//lfrtip frtip
pagingType: "simple_numbers", //分页样式:simple,simple_numbers,full,full_numbers columnDefs: [{ // "targets": 'nosort', //列的样式名
//"orderable": false //包含上样式名‘nosort’的禁止排序 }], ajax: function (data, callback, settings) {
//封装请求参数
// var param = {};
// param.limit = 10;// data.length;//页面显示记录条数,在页面显示每页显示多少项的时候
// param.start = data.start; //开始的记录序号
// param.page = (data.start / data.length) + 1;//当前页码
// param.key = $("#txtKey").val();//参数//console.log(param);
//ajax请求数据
//alert(data); data.order[0].dir:asc
var col = "";
var dir = "";
if (data.order != "") {
col = data.columns[data.order[].column]["data"];
dir = data.order[].dir;
} $.ajax({
type: "GET",
url: "json_users.aspx",
cache: false, //禁用缓存
async: false,
data: { key: escape($("#txt_key").val()), deptid: $("#txt_deptid").val(), start: data.start, limit: data.length, dir: dir, col: col }, //传入组装的参数
dataType: "json", success: function (result) {
callback(result); }
});
}, //列表表头字段
columns: [
{ "data": "Username" },
{ "data": "Displayname" },
{ "data": "Email" },
{ "data": "Title" }
] }).api(); //此处需调用api()方法,否则返回的是JQuery对象而不是DataTables的API对象 // var table = $('#tbl_users').DataTable(); //$('#tbl_users tbody').on('click', 'tr', function () { // //var count = $("#count").html(); // //if ($(this).hasClass("selected")) {
// // $("#count").html((parseInt(count) - 1));
// //}
// //else {
// // $("#count").html((parseInt(count) + 1));
// //}
// $(this).toggleClass('selected');
//});
}
后台代码:
protected void Page_Load(object sender, EventArgs e)
{ string draw = Request["draw"] + "";
string key = Server.UrlDecode(Request["key"]+""); int start=;
int pageSize=; if(!string.IsNullOrEmpty(Request["start"]))
{
start = int.Parse(Request["start"]);
} if(!string.IsNullOrEmpty(Request["limit"]))
{
pageSize = int.Parse(Request["limit"]);
} string dir=Request["dir"];
string colname = Request["col"]; string sql = @" begin select IDENTITY(int,1,1) as Indexs, Username, Displayname, Deptname as Title, Deptid, Email into #Temp From Wx_users where 1=1 "; if(!string.IsNullOrEmpty(key.Trim()))
{
sql+=" and username+displayname+deptname+pinyin like '%"+key+"%' ";
} sql += " select * from #temp where Indexs>" + start + " and Indexs<=" + (start + pageSize); if (colname == "")
{
sql += " order by Indexs asc ";
}
else
{
sql += " order by " + colname + " " + dir;
} sql+=" select count(*) from #temp end "; DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql,@"server=.\sqlexpress;uid=sa;pwd=sa;database=123"); da.Fill(ds); dynamic newtonresult = new
{
draw = Convert.ToInt32(draw == "" ? "" : draw),
recordsTotal = ds.Tables[].Rows[][],
recordsFiltered = ds.Tables[].Rows[][], data = ds.Tables[]
}; JsonSerializerSettings setting=new JsonSerializerSettings(); string jsonString = JsonConvert.SerializeObject(newtonresult); //good Response.Clear();
Response.ContentType = "application/json";
Response.Write(jsonString); }
独立的,客户的分页
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Pop_Users.aspx.cs" Inherits="Dotnet.Common.Pop_Users" %>
<%@ OutputCache Duration="" VaryByParam="none" %>
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title> <script src="../javascript/jquery-1.9.1.min.js"></script>
<link href="../bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<script src="../bootstrap/js/bootstrap.min.js"></script>
<script src="../javascript/layer/layer.js"></script> <link href="../javascript/datatables/datatables.css" rel="stylesheet" />
<script src="../javascript/datatables/datatables.min.js"></script> <link href="../javascript/Tree/bootstrap-treeview.min.css" rel="stylesheet" />
<script src="../javascript/Tree/bootstrap-treeview.min.js"></script>
<link href="../style/patch.css" rel="stylesheet" />
<script src="../javascript/common.js"></script> <style>
.bgRed { background-color: #b0bed9; color:#ffffff; }
</style> </head>
<body style="margin:8px" >
<form id="form1" runat="server"> <style>
#tree li {
font-size:13px; line-height:13px;
}
</style> <table width="99%">
<tr valign="top">
<td width="">
<div id="tree"></div>
</td>
<td> <div style="margin:2px; text-align:right" >
已经选择人员: <span id="count" style="color:red"></span> 人
<input class="form-control" id="txt_key" type="text" placeholder="输入关键字搜索" style="width:200px; display:inline-block" /> <button class="btn btn-primary btn-flat" id="btnSelect"
onclick="if(!Issel()) return false; parent.setPopAttend($('#sel').val()); parent.layer.closeAll(); "
> 提交选中</button> <button class="btn btn-success" id="btnSelect" onclick="select(); return false; " >反选</button>
</div> <table class="table table-hover" style="border-top:solid 1px #eee; display:none" id="tbl_users" >
<thead>
<tr> <th style="width:50px">登录名</th>
<th style="width:70px">显示名</th>
<th style="width:90px">邮件</th>
<th >职位</th>
<th style="width:10px"></th>
<th style="width:10px" ></th>
</tr>
</thead> </table> <div id="loading" style="width:600px; text-align:center;">
<img src="../images/loading.gif" /> 数据加载中
</div> </td>
</tr> </table> <input type="hidden" name="sel" id="sel"/> <script> $(document).ready(function () { var aj = $.ajax({
url: 'json_dept.aspx',
cache: false,
dataType: 'json',
success: function (datasource) {
$('#tree').treeview({
levels: , data: datasource, enableLinks: false,
onNodeSelected: function (event, key) { }
});
},
error: function () { }
}); setTimeout(InitTable, ); }); function InitTable()
{ $('#tbl_users').DataTable({
stateSave: false, "sDom": '<"top">rt<"bottom"p><"clear">',
"ajax": 'json_users.aspx', }); $("#tbl_users").show(); $("#loading").hide(); $('#tbl_users').on('draw.dt', function () { $("#tbl_users th:nth-child(5)").hide();
$("#tbl_users th:nth-child(6)").hide();
$("#tbl_users td:nth-child(5)").hide();
$("#tbl_users td:nth-child(6)").hide();
$("#tbl_users").css("width", "100%"); }); var table = $('#tbl_users').DataTable(); $('#tbl_users tbody').on('click', 'tr', function () { var count = $("#count").html(); if ($(this).hasClass("selected"))
{
$("#count").html((parseInt(count) - ));
}
else
{
$("#count").html((parseInt(count) +));
} $(this).toggleClass('selected');
}); $('#txt_key').on('keyup', function () {
table.column().search("").draw();
table.search(this.value).draw();
}); $('#tree').on('nodeSelected', function (event, data) { table.search("").draw();
table.column().search(data.tags).draw(); }); } function select() { var table = $('#tbl_users').DataTable();
$('#tbl_users tbody tr').each(function () {
$(this).toggleClass('selected');
}); var rows = table.rows('.selected').data();
$("#count").html(rows.length);
} function Issel() {
var checked = ;
var result = '';
var table = $('#tbl_users').DataTable();
var _c = ; var rows = table.rows('.selected').data(); for (var i = ; i < rows.length; i++) { checked++;
var tds = rows[i] var username = tds[];
var displayname = tds[]; result = result + "$" + username + "$" + displayname + "!"; } if (checked > ) {
$("#sel").val(result);
return true;
}
else {
layer.alert('请至少选择一条记录', );
return false;
}
} </script> </form>
</body>
</html>
DateTables的服务器分页的更多相关文章
- [前端插件]Bootstrap Table服务器分页与在线编辑应用总结
先看Bootstrap Table应用效果: 表格用来显示数据库中的数据,数据通过AJAX从服务器加载,同时分页功能有服务器实现,避免客户端分页,在加载大量数据时造成的用户体验不好.还可以设置查询数据 ...
- 使用ASP.NET+Jquery DataTables的服务器分页
(1)先建立表,看看表结构 (2)建立存储过程 DataTables是服务器分页,GetWxUsers存储过程使用了4个参数 (1) @start--表示当前第几页,例如第3页,start是从0开始 ...
- datatabale 服务器分页
转载:http://blog.csdn.net/angelvyvyan/article/details/51783272$(document).ready( function() { $('#tabl ...
- bootstrap table 服务器分页
1.封装MODEL using System;using System.Collections.Generic;using System.Linq;using System.Text;using Sy ...
- 解决ligerUI服务器分页Total不起作用的问题
Js代码: $('#userTable').ligerGrid({ width:'100%', height:'100%', title:'用户列表', //url:'', dataAction: ...
- bootstrap DataTable绑定数据带服务器分页
<!-- DataTables --> 这两个文件在我的文件夹里面<script src="~/bower_components/datatables.net/js/jq ...
- Python-jquery-datatable服务器分页.
第一步: js初始化: part01:ajax设置 part02:语言设置 part03: 行列设置: part04: 具体渲染设置: 第二部: 服务端设置: 第一部分 获取固定表示: 第二部分 对数 ...
- 基于Vue.js的表格分页组件
有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更一篇文章,分享一个自己编写的一个Vue的小组件,名叫BootPage. 不了解Vue.js的童鞋 ...
- 11、ASP.NET MVC入门到精通——AspnetMVC分页
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 说起分页,这基本上是我们Web开发中遇见得最多的场景,没有之一,可即便如此,要做出比较优雅的分页还是需要技巧的.这里我先说一种ASP.NET ...
随机推荐
- MVC,MVP和MVVM的区别
MVC 转载标名出处 dub 从这幅图可以看到,我们可以看到在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑. 在MVC模型 ...
- SpringMVC(4.2):Controller接口控制器详解(2)
原文出处: 张开涛 4.5.ServletForwardingController 将接收到的请求转发到一个命名的servlet,具体示例如下: package cn.javass.chapter4. ...
- 洛谷P4281 紧急会议
传送门啦 思路: $ Lca $ 这个题要求这个显而易见吧.但是难就难在怎么在树上利用 $ Lca $ 去解决三个点的问题. 首先明确三个点两两的 三个 $ Lca $ 中有一对是相等的,我们也会发现 ...
- 用Python实现Excel的读写
一.读excel文件的简单示例 #!/usr/bin/env python # -*- coding:utf-8 -*- import xlrd from xlrd.book import Book ...
- 并发之AQS原理(三) 如何保证并发
并发之AQS原理(三) 如何保证并发 1. 如何保证并发 AbstractQueuedSynchronizer 维护了一个state(代表了共享资源)和一个FIFO线程等待队列(多线程竞争资源被阻塞时 ...
- Laravel 禁用指定 URL POST 请求的 csrf 检查
由于在 chrome 插件中使用了跨域请求,所以需要禁用掉 laravel 默认的 post csrf 检查. 配置方法: 在 app/Http/Middleware/VerifyCsrfToken. ...
- python + slenium自动化测试设置元素等待
WebDriver 提供了两种类型的等待:显式等待和隐式等待. 显式等待 显式等待使 WebdDriver 等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常 (TimeoutExcepti ...
- Date对象和Time对象
方法 描述 getDate() : setDate() 返回/设置月份中的日期(1-31) getDay() 返回星期几(0-6) getFullYear():setFullYear() ...
- xftp和xshell有什么区别
XshellXshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户能轻松和安全地从Windows PC上访问Unix/Linux主机.Xft ...
- canvas简单下雨特效
前面做了两个简单的效果,这次就来个下雨的效果 思路简单的说一下 随机在屏幕中的位置画雨滴,moveTo(x,y) 雨滴的长度就是lineTo(x,y+len) 每次重新绘制页面,就能达到下雨的效果了 ...