Is it possible to dynamically sort one column of a jqGrid when clicking a button instead of clicking in the column name?
In the button click event set the sort column in the grids postdata and then call a reload on the grid
$('#mybutton').click(function() {
$('#yourgrid').jqGrid('setGridParam', {sortname: 'yourColumn', sortorder: 'asc'}).trigger('reloadGrid', [{page: 1}]);
});
The fourth time even luckier!. Using true in the third parameter will reload the grid for sure.
$('#grid').jqGrid('sortGrid', 'id', true, 'asc');
If you don't use true in the third parameter, in the first execution, the order ('asc' or 'desc') is not updated correctly.
A possible solution - but not pretty:
$('#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');
as shown here
http://jsfiddle.net/qhYLT/
Another way to sort by a column programatically - specifying the order:
$('#grid').jqGrid('setGridParam', {sortorder: 'desc'});
$('#grid').jqGrid('sortGrid', 'id');
The sortGrid fires off a reload for you. It wouldn't be complete without a demo : http://jsfiddle.net/uTqD5/
Third time lucky! An undocumented feature:
$('#grid').jqGrid('sortGrid', 'id', '', 'asc');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With