Jqgrid排序列

时间:2012-03-01 12:44:40

标签: jquery jqgrid

单击按钮而不是单击列名称时,是否可以动态对jqGrid的一列进行排序?

3 个答案:

答案 0 :(得分:8)

在按钮单击事件中,在网格postdata中设置排序列,然后在网格上调用重新加载

$('#mybutton').click(function() {
    $('#yourgrid').jqGrid('setGridParam', {sortname: 'yourColumn', sortorder: 'asc'}).trigger('reloadGrid', [{page: 1}]);
});

答案 1 :(得分:8)

第四次更幸运! 在第三个参数中使用 true 将重新加载网格。

$('#grid').jqGrid('sortGrid', 'id', true, 'asc');

如果您未在第三个参数中使用 true ,则在第一次执行时,订单('asc'或'desc')未正确更新。

答案 2 :(得分:3)

一种可能的解决方案 - 但不是很漂亮:

$('#grid').jqGrid('setGridParam', {sortname: 'id', sortorder: 'asc'}).trigger('reloadGrid', [{page: 1}]);
$('#gbox_grid .s-ico').css('display','none');
$('#gbox_grid #jqgh_grid_id .s-ico').css('display','');
$('#gbox_grid #jqgh_grid_id .s-ico .ui-icon-triangle-1-s').removeClass('ui-state-disabled');

如此处所示

http://jsfiddle.net/qhYLT/


以编程方式按列排序的另一种方法 - 指定顺序:

$('#grid').jqGrid('setGridParam', {sortorder: 'desc'});
$('#grid').jqGrid('sortGrid', 'id');

sortGrid会为您重新启动重新加载。没有演示就不会完整:http://jsfiddle.net/uTqD5/


第三次幸运!未记录的功能:

$('#grid').jqGrid('sortGrid', 'id', '', 'asc');