前篇讲到了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操作

最新文章

  1. Java的RMI远程方法调用实现和应用
  2. window7安装git详解
  3. angular directive scope
  4. Sass 中的 @ 规则
  5. destoon系统商城加淘宝客按钮方法
  6. 【Unity 3D】学习笔记三十九:控制组件
  7. PsExec.exe执行远程程序
  8. Dig out WeChat deleted chat messages on Android Phone
  9. SocketServer源码学习(二)
  10. java基础学习之"堆" "栈" "静态存储区" "方法区"
  11. win7系统标准用户恢复administrator账号方法
  12. 定义静态map
  13. 213. House Robber II(动态规划)
  14. 也谈同步异步I/O
  15. Dist
  16. 洛谷 P2184 贪婪大陆 解题报告
  17. .NET:异常以及异常处理框架探析(转载)
  18. BZOJ4883: [Lydsy1705月赛]棋盘上的守卫(最小环套树森林&优化定向问题)
  19. linux 打包 压缩 解压缩
  20. Django之kindeditor

热门文章

  1. 【CF】283D Tennis Game
  2. 利用if else咱们结婚吧
  3. IE浏览器Ajax缓存问题小结
  4. 【Android 复习】:从Activity中返回数据
  5. <转>如何将Chrome变成开发利器,开发者们在用这些插件
  6. [转]NHibernate之旅(4):探索查询之条件查询(Criteria Query)
  7. 【原】关于IPcamera几个问题的思考
  8. Linux,实时获取磁盘空间
  9. Microsoft Dynamics CRM 2011 相关-摘自网络
  10. UIView frame, bounds and center