找回密码
 立即注册

QQ登录

只需一步,快速开始

Fiooona
论坛元老   /  发表于:2020-6-9 11:11  /   查看:6198  /  回复:0
本帖最后由 Fiooona 于 2020-7-21 17:49 编辑

背景: SpreadJS 在V11 之后增加了右键菜单的功能,在工作簿的不同区域右键点击,可以呼出不同的右键菜单,实际的项目中有小伙伴有这样的需求:想要在右击某些单元格或者其他区域时,删除、禁用或者添加一些右键菜单。示例实现: 1 禁用B2单元格中的清除功能(清除功能显示为灰色)
                  2 删除了表单名称右键菜单的插入选项
                  3 自定义右键图片的菜单
image.png279766539.png image.png851052856.png
主要代码:    /*
        *  通过继承ContextMenu的方式自定义右键菜单逻辑
        * */
        function ContextMenu(){}
        ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);
        ContextMenu.prototype.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {




  1. // 如果点击在tabStrip 表单名称区域 不显示插入选项
  2. if(hitInfo.tabStripHitInfo){
  3.     for(let i=0; i<itemsDataForShown.length; i++){
  4.         var item = itemsDataForShown[i];
  5.         if(item.name === "gc.spread.insertSheet"){
  6.             itemsDataForShown.splice(i,1) ;
  7.         }
  8.     }
  9.     }
复制代码
  1.   // 点击在浮动对象区域
  2.     if(hitInfo.worksheetHitInfo&&hitInfo.worksheetHitInfo.floatingObjectHitInfo &&hitInfo.worksheetHitInfo.floatingObjectHitInfo.floatingObject){
  3.         // 自定义一个右键菜单  command命令需要根据需求再自定义
  4.         itemsDataForShown.push( {text: "自定义一个菜单", name: "designer.formatChart", iconClass: "gc-spread-formatChart", command: "designer.formatChart", workArea: "chart"})
  5.     }
复制代码


相关文章:深入解析如何自定义SpreadJS右键菜单(上)
                 深入解析如何自定义SpreadJS右键菜单(下)


组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部