easyUI排序 查詢後臺程式碼
阿新 • • 發佈:2019-02-12
下列程式碼為easyUI查詢列表下的排序(查詢後臺程式碼)
/*前臺程式碼*/
$("#searchList").datagrid({
fit:true,
singleSelect:true,
columns:[
//sortable:標示排序,sortName:標示要排序的列,sortOrder:標示正序OR倒序
{field:'time',title:'時間',sortable:true,sortName:'time',sortOrder:'asc'},
{field:'sort',title:'順序',sortable:true,sortName:'sort' ,sortOrder:'asc'}
]
});
/*後臺程式碼*/
public Object test(HttpServletRequest re){
String sortName = re.getParameter("sort");//前臺排序欄位
String sortOrder = re.getParameter("order");//desc OR asc
JSONObject json = new JSONObject();
List<Map<String,String>> list = new ArrayList<Map<String ,String>>();
//list賦值
Map<String,String> map = new HashMap<String,String>();
map.put("time","2016-01-12 10:30:25");
map.put("sort",1);
list.add(map);
Map<String,String> map1 = new HashMap<String,String>();
map1.put("time","2016-01-11 10:30:25");
map1.put("sort" ,2);
list.add(map1);
Collection.sort(list,new Comparator<Map<String,String>>(){
@Override
public int compare(Map<String,String>m,Map<String,String>m1){
if("time".equals(sortName)){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date d = new Date();
Date d1 = new Date();
d = sdf.parse(m.get("time").toString());
d1 = sdf.parse(m1.get("time").toString());
if("asc".equals(sortOrder))
return d.compareTo(d1);
else
return d1.compareTo(d);
}else if("sort".equals(sortName)){
if("asc".equals(sortOrder))
return (Integer.parse(m.get("sort").toString()).compareTo(Integer.parse(m1.get("sort").toString()));
else
return (Integer.parse(m1.get("sort").toString()).compareTo(Integer.parse(m.get("sort").toString()));
}else return -1;
}
});
json.put("list",list);
return json.toString();
}