在開始對easyui里面頁面上進行排序,感覺應該不怎么難,但是在操作的時候並沒有那么簡單,上網也查了很多進行排序的方法,最終總結出這個方法,供大家參考使用:
一、在easyui里面上只需
1.將要進行排序的字段添加一個屬性(sortable="true");
2.將要排序的table添加一個屬性(remoteSort="true");
3.如果只想在頁面進行排序,而不再數據庫里面進行排序;也就是說只需要對頁面上查出來的當前頁面上的幾行數據進行排序,而不是對頁面上所有頁的數據進行排序的話
就只需要在添加一個頁面排序刷新頁面table(datagrid)的js方法就行了
function alertColumn(sort,order){
$("#dg").datagrid("reload");
}
在頁面進行排序,只需要這三步進行了,頁面整體修改布局如下:
二、如果想對所有分頁里面的進行排序,就還需要在后台添加幾段代碼:
//給前端頁面進行排序
/*這里的參數sort/order不能進行修改,這是easyui里面封裝好的數據,直接在后台就行獲取進行了*/
String sort=request.getParameter("sort");
System.out.println("排序字段名="+sort);//打樁輸出要排序的字段名
String order=request.getParameter("order");
System.out.println("排序順序="+order);//打樁要輸出的字段名的排序屬性,要么是"asc"(升序)要么是"desc"(降序)
/*下面這兩行代碼是對頁面上可以排序字段是否被點中進行判斷,如果點中了就是以order為順序,sort為字段名進行排序,否則就是以desc為順序,以user_id為字段名進行排序*/
order = (StringUtils.defaultString(order).length()==0)?"desc":order;
sort = (StringUtils.defaultString(sort).length()==0)?"user_id":sort;
/*創建一個字符緩沖流對sort和order進行拼接,最終的效果就是====>sort order*/
StringBuffer ordersb = new StringBuffer();
ordersb.append(sort).append(" ").append(order);
//最后就把拼接成的字符串以sortt為變量名稱傳到sql映射文件中,只要獲取sortt就行
param.put("sortt",ordersb.toString());
三、修改sql映射文件中sql語句的排序方法
下面就是截圖:
其他地方都不需要進行改動,這樣對所有的數據進行排序就成功了,有什么不足,麻煩您告訴我