单击按钮而不是单击列名称时,是否可以动态对jqGrid的一列进行排序?
答案 0 :(得分:8)
在按钮单击事件中,在网格postdata中设置排序列,然后在网格上调用重新加载
$('#mybutton').click(function() {
$('#yourgrid').jqGrid('setGridParam', {sortname: 'yourColumn', sortorder: 'asc'}).trigger('reloadGrid', [{page: 1}]);
});
答案 1 :(得分:8)
$('#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');
如此处所示
以编程方式按列排序的另一种方法 - 指定顺序:
$('#grid').jqGrid('setGridParam', {sortorder: 'desc'});
$('#grid').jqGrid('sortGrid', 'id');
sortGrid会为您重新启动重新加载。没有演示就不会完整:http://jsfiddle.net/uTqD5/
$('#grid').jqGrid('sortGrid', 'id', '', 'asc');