前篇讲到了Datatables的基本用法,链接地址:http://www.cnblogs.com/wumian1360/p/4263129.html

今天来实现5,6,7三点。

其实Datatables控件本身就已经带了分页属性,排序属性和筛选属性,分别是:bPaginate,bSort,bFilter,我们只需要将这三个属性设置为true,那么在Ajax刷新的时候就会在Query String Parameters有参数了。具体如下:

 sEcho:1                //操作次数,具体用途不是很清楚
iColumns:2 //Datatables的列总数
sColumns:Id,Name //列名
iDisplayStart:0 //分页开始页码
iDisplayLength:10 //每页显示行数
mDataProp_0:Id //第一列映射字段
sSearch_0: //第一列筛选内容
bRegex_0:false //该字段是否使用正则
bSearchable_0:true //是否使用筛选功能
bSortable_0:false //是否可以排序
mDataProp_1:Name //第一列映射字段
sSearch_1: //第一列筛选内容
bRegex_1:false //该字段是否使用正则
bSearchable_1:true //是否使用筛选功能
bSortable_1:true //是否可以排序
sSearch: //全文筛选
bRegex:false //是否使用正则
iSortCol_0:0 //当前排序列索引(第一列)
sSortDir_0:asc //排序为升序
iSortingCols:1 //排序的列数
_:1423311150960

Http请求参数

功能很强大啊,什么都有了,那么只需要创建对象来接受处理这些参数,然后利用对象去分别做分页,排序和筛选就可。

该处理对象类用了“冠军”的代码,具体链接:http://www.cnblogs.com/haogj/archive/2011/03/21/1990595.html

有了该对象,那么可以在具体的Controller中处理了。

代码如下:

 public JsonResult Get()
{
DataTablesRequest parm = new DataTablesRequest(this.Request); //处理对象
int totalCount = 0;
int start = parm.iDisplayStart; //页索引
int length = parm.iDisplayLength; //页行数
string order = string.Empty; //排序 //获取排序
if (parm.SortColumns.Count() > 0)
{
string sortField = parm.Columns[parm.SortColumns[0].Index].Name;
string sort = parm.SortColumns[0].Direction.ToString();
order = sortField + " " + sort;
} string strQuery = parm.Search;
string[] fields = new string[parm.iColumns];
//此处可以创建对象来封装全文查询字段内容,简单,个人去实现即可 var list=XXXX.LoadPage(start,length,out totalCount,order,strQuery,fields) return Json(new { aaData = list, iTotalRecords = totalCount, iTotalDisplayRecords = totalCount },
JsonRequestBehavior.AllowGet);
}

Ctroller操作

JQuery Datatables(二)的更多相关文章

  1. [jQuery]jQuery DataTables插件自定义Ajax分页实现

    前言 昨天在博客园的博问上帮一位园友解决了一个问题,我觉得有必要记录一下,万一有人也遇上了呢. 问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分 ...

  2. Jquery DataTables相关示例

    一.Jquery-DataTables DataTables 是jquery的一个开源的插件.它具有高度灵活的特性,基于渐进增强的基础,可以为任何表格添加交互.它特性如下: 提供分页,搜索和多列排序: ...

  3. jquery datatables api (转)

    学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...

  4. 最全的jquery datatables api 使用详解

    学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...

  5. jquery datatables api

    原文地址 学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/ ...

  6. JQuery DataTables学习

    1.Datatables简单介绍 DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,根据的基础逐步增强,这将添加先进的互动控制.支持不论什么HTML表格. 主要特点: 自己主动 ...

  7. jquery Datatables 行数据删除、行上升、行下降功能演示

    Datatables 是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 官方网站:http://www.datatables.net Datatables ...

  8. jQuery datatables

    jQuery datatables 属性,用例 参考:http://datatables.club/example/ http://blog.csdn.net/mickey_miki/article/ ...

  9. ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项

    引言: 本人想自己个博客网站出来,技术路线是用ASN.NET MVC5+EF6(Code First)+ZUI+各种Jquery插件,有了这个想法之后就开始选择UI,看了好多bootstrap的模板之 ...

随机推荐

  1. 在服务 ObtainData 实现的协定列表中找不到协定名称 "IMetadataExchange"。将 ServiceMetadataBehavior 添加到配置文件或直接添加到 ServiceHost,以启用对该协定的支持。

    第一种解决方法:最暴力的 配置去掉<endpoint address="mex" binding="mexHttpBinding" contract=&q ...

  2. oracle构建一致性读

    对于实际的业务系统,通常有一些热点的表,insert和delete的量非常大,这个时候就会发现一些查询语句的逻辑读比较偏高,这时可能就是oracle在构建一致性块的进行的consistent read ...

  3. HDOJ/HDU 1556 Color the ball(树状数组)

    Problem Description N个气球排成一排,从左到右依次编号为1,2,3-.N.每次给定2个整数a b(a <= b),lele便为骑上他的"小飞鸽"牌电动车从 ...

  4. Oracle 行拼接 wmsys.wm_concat扩展

    将多行数据拼接成一行: --wmsys.wm_concat group by a.flowid; 但有大小限制:字符串缓冲区太小,超过varchar 4000长度.扩展:更改返回类型为clob --T ...

  5. Android webView 正确的用法

    Android webView 正确的用法 引言: 我在网络找了几个例子,基本上都有问题,<Android疯狂讲义>13.4中的源代码也有问题.终于在官网找到正确的用法.点我. 基本用法: ...

  6. 8-6-Exercise

    HDU 1003    Max Sum 题意:给出一串数字,求出其中某段连续的数字之和最大的值,同时要输出起点的位置和终点的位置~~~ 方法一: 用sum记录某一段和的值,maxx为目前为止最大的su ...

  7. ASP.NET【2】

    从上一节我们了解到ASP.NET是一种动态网页技术,在服务器端运行.Net代码,服务器端接收处理动态生成HTML代码,然后发送给浏览器,再由浏览器解析HTML代码将数据呈现给用户. 那么,下面我来介绍 ...

  8. oc学习之路----多级指针的使用和内存分析

    ---恢复内容开始--- 精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据.(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例) 一级指针:*p1 ...

  9. 一步一步学android控件(之二十五)—— SeekBar

    SeekBar扩展自ProgressBar——在ProgressBar的基础上添加了一个用户可以拖拽的thum. SeekBar.OnSeekBarChangeListener是接收SeekBar进度 ...

  10. CSS学习之盒子模式

    从CSS角度来看,页面上每个元素都是一个盒子,不管是块元素还是内敛元素等.而这个盒子由四个部分组成.内容区,补白,边框,边界,下面来介绍下这四种元素. 1 内容 每个元素都是以某些内容开始的,比如文本 ...