EasyUI Forum
September 14, 2025, 12:06:23 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: How to change datagrid column sortable set after datargid is parsered  (Read 6227 times)
James
Jr. Member
**
Posts: 52


View Profile Email
« on: April 23, 2020, 08:31:39 PM »

How to change datagrid column sortable set after datargid is parsered.

I want to use a switchbutton to enable/disable some columns sortable

Is there any way to do that . I know there is onBeforeSortColumn can return false to stop sort, but I don't want the column shows it can sort when not match the condition what I give.
Logged
jarry
Administrator
Hero Member
*****
Posts: 2298


View Profile Email
« Reply #1 on: April 26, 2020, 03:17:00 AM »

This is the extended method to enable or disable the sortable on a column.
Code:
(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:
Code:
$('#dg').datagrid('enableSortable', 'name');
$('#dg').datagrid('disableSortable', 'name');
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!