This is the extended method to enable or disable the sortable on a column.
(function($){
function setSortable(target, field, sortable){
var col = $(target).datagrid('getColumnOption', field);
col.sortable = sortable;
var state = $(target).data('datagrid');
var dc = state.dc;
var header = dc.header1.add(dc.header2);
var icon = header.find('td[field="'+field+'"] .datagrid-sort-icon');
sortable ? icon.show() : icon.hide();
}
$.extend($.fn.datagrid.methods, {
enableSortable: function(jq, field){
return jq.each(function(){
setSortable(this, field, true)
})
},
disableSortable: function(jq, field){
return jq.each(function(){
setSortable(this, field, false)
})
}
})
})(jQuery);
Usage example:
$('#dg').datagrid('enableSortable', 'name');
$('#dg').datagrid('disableSortable', 'name');