To prevent from loading data from remote server, just return false in 'onBeforeLoad' event. If you only want to reset the sorting flag on the column header, the 'resetSort' method can be extended as below:
$.extend($.fn.datagrid.methods, {
resetSort: function(jq, param){
return jq.each(function(){
var state = $.data(this, 'datagrid');
var opts = state.options;
var dc = state.dc;
var header = dc.header1.add(dc.header2);
header.find('div.datagrid-cell').removeClass('datagrid-sort-asc datagrid-sort-desc');
param = param || {};
opts.sortName = param.sortName;
opts.sortOrder = param.sortOrder || 'asc';
if (opts.sortName){
var names = opts.sortName.split(',');
var orders = opts.sortOrder.split(',');
for(var i=0; i<names.length; i++){
var col = $(this).datagrid('getColumnOption', names[i]);
header.find('div.'+col.cellClass).addClass('datagrid-sort-'+orders[i]);
}
}
})
}
})
Usage example:
$('#dg').datagrid('resetSort'); // clear all the sorting flag
$('#dg').datagrid('resetSort', {sortName:'itemid',sortOrder:'desc'}); // reset the 'itemid' column with 'desc'