SpreadJS 中右键菜单功能扩展——自定义、禁用、隐藏
本帖最后由 Fiooona 于 2020-7-21 17:49 编辑背景: SpreadJS 在V11 之后增加了右键菜单的功能,在工作簿的不同区域右键点击,可以呼出不同的右键菜单,实际的项目中有小伙伴有这样的需求:想要在右击某些单元格或者其他区域时,删除、禁用或者添加一些右键菜单。示例实现: 1 禁用B2单元格中的清除功能(清除功能显示为灰色)
2 删除了表单名称右键菜单的插入选项
3 自定义右键图片的菜单
主要代码: /*
*通过继承ContextMenu的方式自定义右键菜单逻辑
* */
function ContextMenu(){}
ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);
ContextMenu.prototype.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {
// 如果点击在tabStrip 表单名称区域 不显示插入选项
if(hitInfo.tabStripHitInfo){
for(let i=0; i<itemsDataForShown.length; i++){
var item = itemsDataForShown;
if(item.name === "gc.spread.insertSheet"){
itemsDataForShown.splice(i,1) ;
}
}
}// 点击在浮动对象区域
if(hitInfo.worksheetHitInfo&&hitInfo.worksheetHitInfo.floatingObjectHitInfo &&hitInfo.worksheetHitInfo.floatingObjectHitInfo.floatingObject){
// 自定义一个右键菜单command命令需要根据需求再自定义
itemsDataForShown.push( {text: "自定义一个菜单", name: "designer.formatChart", iconClass: "gc-spread-formatChart", command: "designer.formatChart", workArea: "chart"})
}
相关文章:深入解析如何自定义SpreadJS右键菜单(上)
深入解析如何自定义SpreadJS右键菜单(下)
页:
[1]