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" > &nbsp; &nbsp;&nbsp;
已经选择人员: <span id="count" style="color:red"></span> 人
&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <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>
&nbsp; &nbsp;&nbsp; &nbsp; </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的服务器分页的更多相关文章

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

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

  2. 使用ASP.NET+Jquery DataTables的服务器分页

    (1)先建立表,看看表结构 (2)建立存储过程 DataTables是服务器分页,GetWxUsers存储过程使用了4个参数 (1) @start--表示当前第几页,例如第3页,start是从0开始 ...

  3. datatabale 服务器分页

    转载:http://blog.csdn.net/angelvyvyan/article/details/51783272$(document).ready( function() { $('#tabl ...

  4. bootstrap table 服务器分页

    1.封装MODEL using System;using System.Collections.Generic;using System.Linq;using System.Text;using Sy ...

  5. 解决ligerUI服务器分页Total不起作用的问题

    Js代码:   $('#userTable').ligerGrid({ width:'100%', height:'100%', title:'用户列表', //url:'', dataAction: ...

  6. bootstrap DataTable绑定数据带服务器分页

    <!-- DataTables -->  这两个文件在我的文件夹里面<script src="~/bower_components/datatables.net/js/jq ...

  7. Python-jquery-datatable服务器分页.

    第一步: js初始化: part01:ajax设置 part02:语言设置 part03: 行列设置: part04: 具体渲染设置: 第二部: 服务端设置: 第一部分 获取固定表示: 第二部分 对数 ...

  8. 基于Vue.js的表格分页组件

    有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更一篇文章,分享一个自己编写的一个Vue的小组件,名叫BootPage. 不了解Vue.js的童鞋 ...

  9. 11、ASP.NET MVC入门到精通——AspnetMVC分页

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 说起分页,这基本上是我们Web开发中遇见得最多的场景,没有之一,可即便如此,要做出比较优雅的分页还是需要技巧的.这里我先说一种ASP.NET ...

随机推荐

  1. MVC,MVP和MVVM的区别

     MVC   转载标名出处  dub 从这幅图可以看到,我们可以看到在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑. 在MVC模型 ...

  2. SpringMVC(4.2):Controller接口控制器详解(2)

    原文出处: 张开涛 4.5.ServletForwardingController 将接收到的请求转发到一个命名的servlet,具体示例如下: package cn.javass.chapter4. ...

  3. 洛谷P4281 紧急会议

    传送门啦 思路: $ Lca $ 这个题要求这个显而易见吧.但是难就难在怎么在树上利用 $ Lca $ 去解决三个点的问题. 首先明确三个点两两的 三个 $ Lca $ 中有一对是相等的,我们也会发现 ...

  4. 用Python实现Excel的读写

    一.读excel文件的简单示例 #!/usr/bin/env python # -*- coding:utf-8 -*- import xlrd from xlrd.book import Book ...

  5. 并发之AQS原理(三) 如何保证并发

    并发之AQS原理(三) 如何保证并发 1. 如何保证并发 AbstractQueuedSynchronizer 维护了一个state(代表了共享资源)和一个FIFO线程等待队列(多线程竞争资源被阻塞时 ...

  6. Laravel 禁用指定 URL POST 请求的 csrf 检查

    由于在 chrome 插件中使用了跨域请求,所以需要禁用掉 laravel 默认的 post csrf 检查. 配置方法: 在 app/Http/Middleware/VerifyCsrfToken. ...

  7. python + slenium自动化测试设置元素等待

    WebDriver 提供了两种类型的等待:显式等待和隐式等待. 显式等待 显式等待使 WebdDriver 等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常 (TimeoutExcepti ...

  8. Date对象和Time对象

    方法 描述  getDate()  : setDate()  返回/设置月份中的日期(1-31)  getDay()  返回星期几(0-6)  getFullYear():setFullYear() ...

  9. xftp和xshell有什么区别

    XshellXshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户能轻松和安全地从Windows PC上访问Unix/Linux主机.Xft ...

  10. canvas简单下雨特效

    前面做了两个简单的效果,这次就来个下雨的效果 思路简单的说一下 随机在屏幕中的位置画雨滴,moveTo(x,y) 雨滴的长度就是lineTo(x,y+len) 每次重新绘制页面,就能达到下雨的效果了 ...