前篇讲到了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. POJ_1065_Wooden_Sticks_(动态规划,LIS+鸽笼原理)

    描述 http://poj.org/problem?id=1065 木棍有重量 w 和长度 l 两种属性,要使 l 和 w 同时单调不降,否则切割机器就要停一次,问最少停多少次(开始时停一次). Wo ...

  2. 【转】Xcode7.1环境下上架iOS App到AppStore 流程 (Part 一)

    原文网址:http://www.cnblogs.com/ChinaKingKong/p/4957682.html 前言部分 之前App要上架遇到些问题到网上搜上架教程发现都是一些老的版本的教程 ,目前 ...

  3. Android ---时间工具类

    public class DateUtil { // protected static Log logger = LogFactory.getLog(DateUtil.class); // 格式:年- ...

  4. 组合计数(polya计数):SGU 282 Isomorphism

    因为论文的题解写得太好了,直接贴. #include <iostream> #include <cstring> #include <cstdio> using n ...

  5. SVN服务器及客户端的使用

    Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址:http://s ...

  6. 同时连接多台Android设备进行Monkey Test

    事情多了就会乱,时间久了就会忘. adb -s remount id(devices ID) adb -s shell id monkey -p package name -v count

  7. winfrom存储txt日志函数

    参考微信支付SDK的代码,抽取出来的winform存储记事本日志函数: #region 存储日志 public string path = Application.StartupPath + &quo ...

  8. c# const与readonly 关键字的比较

    C#中,const 与readonly是两个比较有用的关键字.const 与 readonly 定义的数据成员在初始化都不能再改变. 比如定义了 public class MathUtitlity   ...

  9. vijosP1629 八

    vijosP1629 八 链接:https://vijos.org/p/1629 [思路] 暴力容斥(看他们都这么叫=_=)+精度选择. 总体思路是先统计LR区间内满足是8倍数的数目ans,再从ans ...

  10. GCC基本知识

    掌握下面的对GCC会有一个比较清晰的大致的了解: 不经意间,GCC已发展到了4.3的版本,尽管在软件开发社区之外乏人闻问,但因为GCC在几乎所有开源软件和自由软件中都会用到,因此它的编译性能的涨落会直 ...