效果如下:(点击小箭头可根据字段进行排序)
前台需要进行的操作:(将排序字段和排序类型封装为对象跟分页条件及查询条件一起传输到后台)
后台需要进行的操作:(获取前台传递的参数并处理,并添加排序条件,在sql后拼接)
// 页面排序条件
String paramStr = StringUtil.toString(map.get("orderParam"));// 排序字段,驼峰命名
String orderType = StringUtil.toString(map.get("orderType"));// 排序类型,倒序为desc
String orderParam = CommonUtils.changeParamToColumn(paramStr);// 处理后的排序字段
// 根据页面进行排序(在sql后拼接)
if (!"".equals(orderParam)) {
if ("ascending".equals(orderType)) {
orderType = "asc";
} else {
orderType = "desc";
}
sqlBuffer.append(" order by " + orderParam + " " + orderType);
} else {
// 默认排序
sqlBuffer.append(" order by start_date desc ");
}