實現方案一客戶端實現排序:
jqGrid屬性 loadonce:true時,所有數據加載在客戶端,點擊列標題由jqGrid在客戶端自動排序,不再從服務器取值。
參考文件:ccMxCxTjCc.js
js設定:
jqGrid的設定: colModel: [ { ..... name: ‘zykj‘, sortable: true, }, ...... }], ...... loadonce:true, //一次加載全部數據到客戶端,由客戶端進行排序。 sortable: true, sortname: ‘zykj‘, //設置默認的排序列 sortorder: ‘asc‘, |
實現方案二:sql排序
在Model層加入,需要生成setter、getter方法。
// sidx和sord是jqGrid存在的變量,接受列點擊之后傳過來的值。 /* * sord代表排序規則(asc、desc) */ private String sord; /** * sidx代表排序的列名 */ private String sidx; /** * sord代表排序規則(asc、desc) * @return sord */ public String getSord() { return sord; } /* * 設置 sord代表排序規則(asc、desc) * @param sord */ public void setSord(String sord) { this.sord = sord == null ? null : sord.trim(); } /** * 獲取 sidx代表排序的列名 * @return 獲取sidx代表排序的列名 */ public String getSidx() { return sidx; } /** * 設置 sidx代表排序的列名 * @param sidx */ public void setSidx(String sidx) { this.sidx = sidx == null ? null : sidx.trim(); } |
jqGrid:
colModel: sortable: true, |
jqGrid屬性: sortable: true, sortname: ‘zykj‘, //設置默認的排序列 sortorder: ‘asc‘, |
loadonce:false, //一次加載全部數據到客戶端,由客戶端進行排序。 |
jqGrid的onSortCol在簡單排序時,不需要設定。 //onSortCol: function (index, colindex, sortorder) { // jqGridTable.setGridParam({ //sortorder排序規則 asc、desc //colindex列索引 0開始 //index:列name、’zykj’ // }).trigger("reloadGrid"); //}, |
Mybatis配置文件:
SELECT的xml設定不需要配置statement=”STATEMENT”,sidx、sord的傳入使用$符號。不適用#。 |
<select id="pagesList" parameterType="com.entity.model.ModelDemo" resultMap="BaseResultMap" > SELECT T1.SJHS , T1.ZYKJ FROM TABLE T1 WHERE 0=0 <if test="sidx != null and sord!=‘‘ and sord != null and sidx != ‘‘"> ORDER BY T1.${sidx} ${sord} </if> </select> |