extjs分页和全局排序要注意的问题

来源:互联网 发布:知乎联系方式 编辑:程序博客网 时间:2024/05/16 08:01

 

先说分页,网上的教程一大堆,很多都没说清楚关键的地方。

extjs的grid是靠totalProperty,start,limit来分页的,这三个参数一定不能写错了。

extjs的grid每点击一次翻页就会访问一次后台,并将store.load({ params: { start: 0, limit: 15} });
中的start和limit参数传到后台,后台获取这两个参数:

  int start = Integer.valueOf(request.getParameter("start"));
  int limit = Integer.valueOf(request.getParameter("limit"));
然后根据它们来获取一页的数据,再传回来给extjs的grid,显示在页面上。

另外特别要注意的是:totalProperty是所有结果的条数,而不是当前页面的条数。

 

 

再说排序,当前页面的排序就不说了,我说的是全局排序。

下面参考了其他人的博客:

   这种排序方式,大家都知道,但是不一定能用好,需要一下几个步骤,少一个都不行。

   1.数据集Ext.data.Store中设置参数:remoteSort: true

   2.列模式Ext.grid.ColumnModel中需要进行全局排序的列中加入参数:remoteSort: true

   3.后台组合数据集的方法中,

    通过:String sort= request.getParameter("sort");//要排序的列名--无需定义,ext自动后传
          String dir= request.getParameter("dir");//要排序的方式--无需定义,ext自动后传

    取数据集的时候,把这两个参数加进去,就爽了。

这时候到前台试试,看看是不是就可以进行全局排序了。


除了这些,还得注意:不要漏了在Ext.grid.ColumnModel中加入sortable:true,否则你点都点不了。

 

 

 

 

 

原创粉丝点击