EasyUI Forum

General Category => EasyUI for jQuery => Topic started by: bakkers on June 02, 2015, 01:56:54 AM



Title: Treegrid onContextMenu and column
Post by: bakkers on June 02, 2015, 01:56:54 AM
Hello

I'm having some problems with the onContextMenu on treeGrid. The parameters it gets is (e, row) but i need to know the column also, is there any way to get this?

Hope someone knows a way to do this?


Title: Re: Treegrid onContextMenu and column
Post by: jarry on June 02, 2015, 09:11:45 AM
Please try to override the 'contextmenu' event on the treegrid.
Code:
$('#tg').treegrid({
rowEvents: $.extend(true,[],$.fn.treegrid.defaults.rowEvents, {
contextmenu: function(e){
var tr = $(e.target).closest('tr.datagrid-row');
if (tr.length && tr.parent().length){
var id = tr.attr('node-id');
var field = $(e.target).closest('td[field]').attr('field');
console.log(id+":"+field);
}
}
})
})


Title: Re: Treegrid onContextMenu and column
Post by: bakkers on June 02, 2015, 11:59:21 PM
Many thanks for the code jarry, i got it to work with a few changes and here is the final code. It now works perfectly :)

Code:
function onContextMenu(e,row){
e.preventDefault();
$(this).treegrid('select', row.id);

var tr = $(e.target).closest('tr.datagrid-row');

if (tr.length && tr.parent().length){
var id = tr.attr('node-id');
var field = $(e.target).closest('td[field]').attr('field');
alert(id+":"+field);

}

if (row.norm != '') {
$('#mm').menu('show',{
left: e.pageX,
top: e.pageY
});
} else {
$('#mmShort').menu('show',{
left: e.pageX,
top: e.pageY
});
}
}