Ext列表展现--普通排序sortable--全局排序remoteSort(EXTJS 全局排序问题)
关于Ext的排序问题,一般涉及到两种方式。
A。一种是默认的客户端排序机制,对当前页进行排序。sortable
这种排序模式不用多说,是人都会:
1.可以在Ext.grid.ColumnModel列模式中,设置sortable:false,此列为可排序。
var cm = new Ext.grid.ColumnModel([//定义列显示模式 {id: "name",header: "部门名称",dataIndex: 'name',width: 50, sortable:false},
]);
2.总体设置Ext.grid.ColumnModel的所有列的默认排序方式。
cm.defaultSortable = true;//默认列全部可排序
cm.setDefaultSort('name', 'DESC');也可如:按名字倒序
B。进行服务器端全局排序方式。remoteSort
这种排序方式,大家都知道,但是不一定能用好,需要一下几个步骤,少一个都不行。
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自动后传
取数据集的时候,把这两个参数加进去,就爽了。
这时候到前台试试,看看是不是就可以进行全局排序了。
下面是服务器端排序的具体补充:
首先获取这两个值: String sort= request.getParameter("sort");//要排序的列名--无需定义,ext自动后传 String dir= request.getParameter("dir");//要排序的方式--无需定义,ext自动后传 其中sort对应数据库中的某个字段 dir表示为asc或desc即升序或降序 sql语句就是普通的语句: select * from user where id>50 order by sort dir
4.后台排序
在默认的情况下,Grid只能对当前页的数据进行排序,如果对所有的数据排序,则需要将排序信息提交到后台,由后台将信息组装到SQL里,然后再由后台将处理好的数据返回给前台。 var store = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'09_01.jsp'}), reader: new Ext.data.JsonReader({ totalProperty: 'totalProperty', root: 'root' }, [ {name: 'id'}, {name: 'name'}, {name: 'descn'} ]), remoteSort: true }); 其中remoteSort: true表示允许后台排序,这样在排序时就会有变化,不会立即显示出排序的结果,而是向后台提交两个参数,分别是sort和dir,表示要排序的字段与升序或降序。
jsp则进行相应的处理 String start = request.getParameter("start"); String limit = request.getParameter("limit");
String sort = request.getParameter("sort"); String dir = request.getParameter("dir"); 再进行数据库分页,并返回json格式的分页数据。
String sort= request.getParameter("sort");
if(sort != null){
String property = "";
String direction = "";
JSONArray myJsonArray = new JSONArray(sort);
for(int i=0 ; i < myJsonArray.length() ;i++){
JSONObject myjObject = myJsonArray.getJSONObject(i);
property = myjObject.getString("property");
direction = myjObject.getString("direction");
}
String sql="user_basic order by "+property+" "+direction+" ";
Ext列表展现--普通排序sortable--全局排序remoteSort(EXTJS 全局排序问题)的更多相关文章
- laravel-admin列表排序在使用了$grid->model()->latest()后$grid其它加上sortable()可排序的列在排序时不起作用
laravel-admin这个基于laravel的后台框架,简单易用,$grid的默认排序是主键升序的排列方式,但在使用了`$grid->model()->latest();`自定义默认排 ...
- php sortable 动态排序
php sortable 动态排序未分页版.php 预览图: <?php mysql_connect("localhost","root","r ...
- Hadoop对文本文件的快速全局排序
一.背景 Hadoop中实现了用于全局排序的InputSampler类和TotalOrderPartitioner类,调用示例是org.apache.hadoop.examples.Sort. 但是当 ...
- MapReduce TotalOrderPartitioner 全局排序
我们知道Mapreduce框架在feed数据给reducer之前会对map output key排序,这种排序机制保证了每一个reducer局部有序,hadoop 默认的partitioner是Has ...
- 三种方法实现Hadoop(MapReduce)全局排序(1)
我们可能会有些需求要求MapReduce的输出全局有序,这里说的有序是指Key全局有序.但是我们知道,MapReduce默认只是保证同一个分区内的Key是有序的,但是不保证全局有序.基于此,本文提供三 ...
- Mapreduce的排序(全局排序、分区加排序、Combiner优化)
一.MR排序的分类 1.部分排序:MR会根据自己输出记录的KV对数据进行排序,保证输出到每一个文件内存都是经过排序的: 2.全局排序: 3.辅助排序:再第一次排序后经过分区再排序一次: 4.二次排序: ...
- java List递归排序,传统方式和java8 Stream优化递归,无序的列表按照父级关系进行排序(两种排序类型)
当有一个List列表是无序的,List中的数据有parentid进行关联,通过java排序成两种排序类型: 所用的测试列表最顶级无parentid,若为特殊值,修改下判断方法即可. 第一种排序:按照树 ...
- 大数据mapreduce全局排序top-N之python实现
a.txt.b.txt文件如下: a.txt hadoop hadoop hadoop hadoop hadoop hadoop hadoop hadoop hadoop hadoop hadoop ...
- 一起学Hadoop——TotalOrderPartitioner类实现全局排序
Hadoop排序,从大的范围来说有两种排序,一种是按照key排序,一种是按照value排序.如果按照value排序,只需在map函数中将key和value对调,然后在reduce函数中在对调回去.从小 ...
随机推荐
- 每用户订阅上的所有者 SID 不存在 (异常来自 HRESULT:0x80040207)
出现这个问题是因为pQueryFilter.WhereClause = "RoomNumber=" +cmbFromPoint.SelectedItem;中的cmbFromPoin ...
- 在PowerDesigner中设计概念模型
原文:在PowerDesigner中设计概念模型 在概念模型中主要有以下几个操作和设置的对象:实体(Entity).实体属性 (Attribute).实体标识(Identifiers).关系(Rela ...
- linux jdk bin安装
1.jdk-1_5_0_06-linux-i586.bin下载到/usr/soft,赋予可执行权限:chmod 755jdk-1_5_0_06-linux-i586.bin 2.执行:./jdk-1_ ...
- Linux进程的睡眠和唤醒简析
COPY FROM:http://www.2cto.com/os/201204/127771.html 1 Linux进程的睡眠和唤醒 在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在 ...
- vim编程 插入 保存不退出 保存退出 退出不保存 另存为其他文件名 保存覆盖现有文件
---恢复内容开始--- 在xshell里写代码,如果需要编辑代码,可以输入 vim+ xxx.py ,进入vim编辑界面 这里的xxx.py表示 python的存储文件,后缀名是.py. 1. ...
- Android开发之异步通信Handler机制
郭大神的:http://blog.csdn.net/guolin_blog/article/details/9991569 http://www.jianshu.com/p/08cb3665972f ...
- 转:Cache相关
声明:本文截取自http://blog.163.com/ac_victory/blog/static/1033187262010325113928577/ (1)“Cache”是什么 Cache(即高 ...
- EJB3Persistence开发手册-原生SQL查询(NativeSQL)
EJB3 QL对原生SQL做了非常好的支持.采用原生SQL做查询结果不但可以是象SQL中的返回列值,也可以是Entity类,甚至可以是两者的混合. EJB3 EntityManager接口定义了多个原 ...
- Java关键字static、final使用小结
static 1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...
- C#基本知识点-Readonly和Const的区别
什么是静态常量(Const)和动态常量(Readonly) 先解释下什么是静态常量(Const)以及什么是动态常量(Readonly). 静态常量(Const)是指编译器在编译时候会对常量进行解析 ...