2013-06-18 53 views
1

我有一個jqGrid,我正在排序客戶端,所以我正在使用sortGrid方法。但是,此方法只接受兩個參數:列名稱以及是否應重新加載網格。使用「sortGrid」方法以降序對列進行排序?

我想有條件地使用此方法來升序和降序排序。但是,由於排序順序不是參數,因此方法默認爲升序排序。

我現在有一個變通,我叫sortGrid方法兩次,如果列應按降序排序:

if (sortCol) { 
    $("#gridID").sortGrid(sortCol); 
    //If descending, need to apply the sort a 2nd time 
    if (sortOrder === "desc") { 
     $("gridID").sortGrid(sortCol); 
    } 
} 

這似乎這樣的伎倆,至少測試的時候我的本地主機。但是,當轉移到現場環境時,似乎每隔一段時間都無法工作。

有沒有更好的方法來做到這一點?

回答

0

您可以使用API​​,像這樣設置網格的排序順序:

$("#gridID").jqGrid('setGridParam', {sortorder: "desc"}).trigger('reloadGrid'); 

API調用將觸發對電網的重載所以你不應該發出通過sortGrid方法調用的重載。

+0

我已經嘗試過使用它。無論我在sortGrid之前還是之後設置了GridParam,sortGrid都會將排序順序重置爲「asc」。 –

+0

用「.trigger('reloadGrid');」一塊,並得到了相同的結果。 –

相關問題