Hi.
You neet to use the onHeaderContextMenu of datagrid.
I use this option for show and hide columns.
and change de code of menu basic.
http://www.jeasyui.com/demo/main/?plugin=Menu&theme=default&dir=ltr&pitem=Regardssss
onHeaderContextMenu:
// Muestro u Oculta columnas
function(e, field){
e.preventDefault();
if (!cmenu){ createColumnMenu(); }
cmenu.menu('show', { left:e.pageX,top:e.pageY } );
JAVASCRIPT FUNCTION
var cmenu;
function createColumnMenu(){
cmenu = $('<div/>').appendTo('body');
cmenu.menu({
onClick: function(item){
if (item.iconCls == 'icon-check_16'){
$('#tt').datagrid('hideColumn', item.name);
cmenu.menu('setIcon', { target: item.target, iconCls: 'icon-ver_ocultar_16' });
} else {
$('#tt').datagrid('showColumn', item.name);
cmenu.menu('setIcon', { target: item.target, iconCls: 'icon-check_16' });
}
}
});
var fields = $('#tt').datagrid('getColumnFields');
// Arranco de 1 para evitar que me proponga para ocultar la columna que muestra los nodos
for(var i=0; i<fields.length; i++){
var field = fields
;
var col = $('#tt').datagrid('getColumnOption', field);
cmenu.menu('appendItem', { text: col.title, name: field, iconCls: 'icon-check_16' });
}
}
},