Is it possible to dynamically sort one column of a jqGrid when clicking a button instead of clicking in the column name?
3 Answers
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}]); }); 1 Comment
Oleg
The value of
sidx parameter will be constructed from sortname option of jqGrid and the value of sord from sortorder. So you should do the following: $('#yourgrid').jqGrid('setGridParam', {sortname: 'yourColumn', sortorder: 'asc'}).trigger('reloadGrid', [{page: 1}]);. Moreover you should close the quote in $('#mybutton).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
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');