找回密码
 立即注册

QQ登录

只需一步,快速开始

森森
金牌服务用户   /  发表于:2024-1-17 13:50  /   查看:1975  /  回复:1
1金币
我想实现鼠标右键点击单元格根据当前单元格的tag判断是否在它右键出现的菜单里面加功能

最佳答案

查看完整内容

可以通过重写右键菜单来实现,请参考以下代码: 以单元格的值是否为"Hello World"来控制“添加表格”菜单项是否显示。

1 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-17 13:50:58
来自 2#
可以通过重写右键菜单来实现,请参考以下代码:

  1. window.onload = function () {
  2.   let designerConfig = JSON.parse(
  3.     JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig)
  4.   );

  5.   let designer = new GC.Spread.Sheets.Designer.Designer(
  6.     "gc-designer-container",
  7.     designerConfig
  8.   );

  9.   let spread = designer.getWorkbook();

  10.   let sheet = spread.getActiveSheet();

  11.   sheet.getCell(0, 0).value("Hello World");

  12.   let oldOpenMenu = spread.contextMenu.onOpenMenu;
  13.   spread.contextMenu.onOpenMenu = function (
  14.     menuData,
  15.     itemsDataForShown,
  16.     hitInfo,
  17.     spread
  18.   ) {
  19.     oldOpenMenu.apply(this, arguments);
  20.     console.log(itemsDataForShown);
  21.     console.log("hitInfo", hitInfo);
  22.     if (
  23.       spread
  24.         .getActiveSheet()
  25.         .getCell(hitInfo.worksheetHitInfo.row, hitInfo.worksheetHitInfo.col)
  26.         .value() === "Hello World"
  27.     ) {
  28.       itemsDataForShown.push({
  29.         text: "添加表格",
  30.         name: "myCmd",
  31.         command: "myCmd",
  32.         workArea: "viewport",
  33.       });
  34.     }
  35.   };
  36. };
复制代码


image.png117616576.png

image.png314631652.png

以单元格的值是否为"Hello World"来控制“添加表格”菜单项是否显示。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部