EasyUI Forum
October 17, 2025, 03:40:10 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: MultiSort with ctrl+click  (Read 7770 times)
y.bykov
Newbie
*
Posts: 49


View Profile
« on: September 25, 2017, 12:42:35 AM »

Hello!
I need multisort with ctrl+click on fields headers. Now, if I click one second/third/etc field header it is become multisort, but I need this behaviour only when ctrl+click. onHeaderContextMenu works only on RBC, I didn`t find method for LBC.
I need your help.
Thank you!
Logged
stworthy
Administrator
Hero Member
*****
Posts: 3581


View Profile Email
« Reply #1 on: September 26, 2017, 12:08:38 AM »

Please custom the click event handler on the datagrid header.
Code:
$('#dg').datagrid({
  multiSort: true,
  headerEvents: $.extend({}, $.fn.datagrid.defaults.headerEvents, {
    click: function(e){
      var target = $(e.target).closest('div.datagrid-view').children('.datagrid-f')[0];
      var opts = $(target).datagrid('options');
      var cell = $(e.target).closest('.datagrid-cell');
      if (cell.length){
        var p1 = cell.offset().left + 5;
        var p2 = cell.offset().left + cell._outerWidth() - 5;
        if (e.pageX < p2 && e.pageX > p1){
          var field = cell.parent().attr('field');
          if (e.metaKey || e.ctrlKey){
            $(target).datagrid('sort', field);
          } else {
            if (opts.sortName != field){
              opts.sortName = '';
              opts.sortOrder = '';
            }
            $(target).datagrid('sort', field);
          }
        }
      }
    }
  })
})
Logged
y.bykov
Newbie
*
Posts: 49


View Profile
« Reply #2 on: September 26, 2017, 01:12:35 AM »

It is work fine.
Thank you!
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!