找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 14.2.1 右键菜单

brmxj
金牌服务用户   /  发表于:2022-4-21 22:24  /   查看:2389  /  回复:1
有个需求需要做到表内特定几个sheet点进去,右键菜单需要添加自定义的新加菜单,有几个sheet点进去不要自定义的新加菜单,要如何实现

1 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-22 10:29:39
沙发
您好,
示例代码如下,完整代码请参考附件demo:
  1. // 创建命令
  2.             var newMenuItem = {
  3.                 canUndo: true,
  4.                 name: "newMenuItem",
  5.                 execute: function (context, options, isUndo) {
  6.                     var Commands = GC.Spread.Sheets.Commands;
  7.                     if (isUndo) {
  8.                         Commands.undoTransaction(context, options);
  9.                         return true;
  10.                     } else {
  11.                         Commands.startTransaction(context, options);
  12.                         var sheet = context.getSheetFromName(options.sheetName);
  13.                         alert("添加的新右键菜单项");

  14.                         Commands.endTransaction(context, options);
  15.                         return true;
  16.                     }
  17.                 }
  18.             };
  19.             // 注册命令
  20.             spread.commandManager().register("newMenuItem", newMenuItem);

  21.             function MyContextMenu() { }
  22.             MyContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);
  23.             MyContextMenu.prototype.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {
  24.                 var sheetIndex = spread.getActiveSheetIndex()
  25.                 // 如果为sheet1,则添加新项
  26.                 if (sheetIndex == 0) {
  27.                     itemsDataForShown.push({
  28.                         text: "新项",
  29.                         name: "newItem",
  30.                         command: "newMenuItem",
  31.                         workArea: "viewportcolHeaderrowHeaderslicercorner"
  32.                     });
  33.                 }
  34.             };
  35.             var contextMenu = new MyContextMenu();
  36.             spread.contextMenu = contextMenu;
复制代码



右键菜单-根据sheet显示新增的菜单项.html

4.37 KB, 下载次数: 89

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部