2013-06-18 55 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');”一块,并得到了相同的结果。 –

相关问题