zoukankan      html  css  js  c++  java
  • JQuery Datatables(二)

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

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

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

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

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

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

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

    代码如下:

     1 public JsonResult Get()
     2 {
     3     DataTablesRequest parm = new DataTablesRequest(this.Request);    //处理对象
     4     int totalCount = 0;        
     5     int start = parm.iDisplayStart;    //页索引
     6     int length = parm.iDisplayLength;    //页行数
     7     string order = string.Empty;    //排序
     8 
     9     //获取排序
    10     if (parm.SortColumns.Count() > 0)
    11     {
    12         string sortField = parm.Columns[parm.SortColumns[0].Index].Name;
    13         string sort = parm.SortColumns[0].Direction.ToString();
    14         order = sortField + " " + sort;
    15     }
    16     
    17     string strQuery = parm.Search;
    18     string[] fields = new string[parm.iColumns];
    19     //此处可以创建对象来封装全文查询字段内容,简单,个人去实现即可
    20     
    21     var list=XXXX.LoadPage(start,length,out totalCount,order,strQuery,fields)
    22     
    23     return Json(new { aaData = list, iTotalRecords = totalCount, iTotalDisplayRecords = totalCount },
    24                 JsonRequestBehavior.AllowGet);
    25 }
    Ctroller操作
  • 相关阅读:
    汇编指令速查
    七种寻址方式(直接寻址方式)
    七种寻址方式(立即寻址、寄存器寻址)
    七种寻址方式(寄存器间接寻址方式)
    Indy IdHttp get Gb2312乱码的解决
    七种寻址方式(相对基址加变址寻址方式)
    七种寻址方式(寄存器相对寻址方式)
    【Note】2012.10.3
    算法04不重复打印排序数组中相加和为给定值的所有三元组
    算法03不重复打印排序数组中相加和为给定值的所有二元组
  • 原文地址:https://www.cnblogs.com/wumian1360/p/4279280.html
Copyright © 2011-2022 走看看