以编程方式对jqGrid进行排序

时间:2011-08-17 08:11:29

标签: jquery jqgrid

我有一个填充了数据的jqGrid,但我想通过编辑CSS来改变它的显示方式。

到目前为止一切顺利,但我正在尝试一个下拉列表,当更改时,将根据所选值对jqGrid进行排序。

有没有以编程方式实际调用sort函数?

我尝试了以下内容,什么都不做:

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

确实有办法调用此事件吗?

3 个答案:

答案 0 :(得分:6)

您应该使用jqGrid的sortGrid方法:

  

对给定的colname进行排序并显示相应的排序图标。相同   (没有排序图标)可以使用   setGridParam({sortname: 'MYNAME'})。触发( 'reloadGrid')。如果重装   设置为true,网格重新加载当前页面和排序顺序   设置。

答案 1 :(得分:2)

试试这个

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

这是一个可能对jqGrid sorting on client side

有帮助的问题

答案 2 :(得分:0)

如Oleg所述,以下代码将按yearEdition列对网格进行排序,重新加载网格并显示正确的排序图标:

$("#grid").jqGrid("sortGrid", "yearEdition", true);

如果需要降序排序,则还必须设置sortorder网格参数,例如

$("#grid").jqGrid()
    .setGridParam({sortorder: "desc"})
    .jqGrid("sortGrid", "yearEdition", true);

注意:正如API Documentation sortGrid中所述,是一种Add On Grid方法,只有在选择了正确的下载选项时才可用。