EasyUI Forum
April 28, 2024, 09:56:36 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: treeGrid onRowHover possible?  (Read 5038 times)
prancius
Newbie
*
Posts: 11


View Profile Email
« on: January 22, 2017, 06:10:43 PM »

Hi i would like on treeGrid row over/out run some JS code. Please help to implement on row hover method for treeGrid.

Thank you
Logged
prancius
Newbie
*
Posts: 11


View Profile Email
« Reply #1 on: January 23, 2017, 04:09:04 PM »

onLoadSuccess: i added

   $(this).treegrid('getPanel').find('tr.datagrid-row').bind('mouseover',function(e)
                     {
                        var index = parseInt($(this).attr('node-id'));
                           
                        //Other code
                     });

It is workaround, would be nice in future to have a event with row object!
Logged
stworthy
Administrator
Hero Member
*****
Posts: 3581


View Profile Email
« Reply #2 on: January 23, 2017, 05:59:49 PM »

Please use this code to extend the 'onMouseOver' and 'onMouseOut' events.
Code:
<script>
(function($){
function getArguments(target, aa){
return $.data(target, 'treegrid') ? aa.slice(1) : aa;
}
function getTableTarget(t){
return $(t).closest('div.datagrid-view').children('.datagrid-f')[0];
}
function getClosestTr(t, selector){
var tr = $(t).closest(selector||'tr.datagrid-row');
if (tr.length && tr.parent().length){
return tr;
} else {
return undefined;
}
}
function getTrIndex(tr){
if (tr.attr('datagrid-row-index')){
return parseInt(tr.attr('datagrid-row-index'));
} else {
return tr.attr('node-id');
}
}
var mouseover = $.fn.datagrid.defaults.rowEvents.mouseover;
var mouseout = $.fn.datagrid.defaults.rowEvents.mouseout;
$.extend($.fn.datagrid.defaults.rowEvents, {
mouseover: function(e){
mouseover.call(this, e);
var target = getTableTarget(e.target);
var opts = $(target).datagrid('options');
var tr = getClosestTr(e.target);
if (tr){
var index = getTrIndex(tr);
var row = opts.finder.getRow(target, index);
if (opts.onMouseOver){
opts.onMouseOver.apply(target, getArguments(target, [index, row]));
}
}
},
mouseout: function(e){
mouseover.call(this, e);
var target = getTableTarget(e.target);
var opts = $(target).datagrid('options');
var tr = getClosestTr(e.target);
if (tr){
var index = getTrIndex(tr);
var row = opts.finder.getRow(target, index);
if (opts.onMouseOut){
opts.onMouseOut.apply(target, getArguments(target, [index, row]));
}
}
}
})
})(jQuery);
</script>
Logged
prancius
Newbie
*
Posts: 11


View Profile Email
« Reply #3 on: June 02, 2017, 09:04:44 AM »

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!