Please use this code to extend the 'onMouseOver' and 'onMouseOut' events.
<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>