jqGrid排序的兩種實現方式


實現方案一客戶端實現排序:
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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM