spreadjs 自定义菜单事件

自定义菜单

function ContextMenu(){}
ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);

//菜单右键之后走的方法
ContextMenu.prototype.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {
for(var itemsa=0; itemsa<itemsDataForShown.length; itemsa++){

//删除多余的菜单

var item = itemsDataForShown[itemsa];
if(item.name === "gc.spread.clearContents" || item.name === "gc.spread.filter" || item.name === "gc.spread.sort" || item.name === "gc.spread.insertComment" || item.type ==="separator" || item.name ==="gc.spread.pasteOptions" || item.name==="gc.spread.pasteAll" || item.name==="gc.spread.pasteFormula" || item.name==="gc.spread.pasteValues" || item.name==="gc.spread.pasteFormatting" || item.name=="gc.spread.unhideRows" || item.name=="gc.spread.unhideColumns"){
itemsDataForShown.splice(itemsa, 1);
itemsa--;
}
}
var col= hitInfo.worksheetHitInfo.col;
var row= hitInfo.worksheetHitInfo.row;
//菜单自带功能
var clearF = {
text: "清除筛选",
name: "clearF",
command: clearFit,
workArea: "viewport"
};
itemsDataForShown.splice(0, 0, clearF);修改自定义菜单的定位和层级

this.Ela.qo.style.zIndex="5";
this.Ela.qo.style.position="absolute";

};
var contextMenu = new ContextMenu();
spread.contextMenu = contextMenu;
function CustomMenuView() {}
CustomMenuView.prototype = new GC.Spread.Sheets.ContextMenu.MenuView(spread);

//点击菜单事件
CustomMenuView.prototype.createMenuItemElement = function(menuItemData) {
var self = this;
var menuItemView = GC.Spread.Sheets.ContextMenu.MenuView.prototype.createMenuItemElement.call(self, menuItemData);
if (menuItemData.name === "export_execl") {

return supMenuItemContainers;
}
else {
return menuItemView;
}
};
spread.contextMenu.menuView = new CustomMenuView();

}

原文地址:https://www.cnblogs.com/yeyuqian/p/10750414.html