找回密码
 立即注册

QQ登录

只需一步,快速开始

清酒℡

注册会员

16

主题

65

帖子

191

积分

注册会员

积分
191
清酒℡
注册会员   /  发表于:2023-6-9 15:27  /   查看:2012  /  回复:7
1金币
右键一个单元格,如何实现通过一个条件判断右键里面的插入删除行功能是否可用?

最佳答案

查看完整内容

您好,请参考以下代码: let spread = new GC.Spread.Sheets.Workbook( document.getElementById("gc-designer-container"), { sheetCount: 1 } ); function ContextMenu() {} ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread); ContextMenu.prototype.onOpenMenu = function ( menuData, itemsDataForShown, hitInfo, spread ) { console.log(itemsDataForSh ...

7 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-6-9 15:27:17
来自 4#
清酒℡ 发表于 2023-6-12 16:07
单纯使用spreadsheet 不带设计器的那种

您好,请参考以下代码:



let spread = new GC.Spread.Sheets.Workbook(
  document.getElementById("gc-designer-container"),
  { sheetCount: 1 }
);

function ContextMenu() {}
ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);
ContextMenu.prototype.onOpenMenu = function (
  menuData,
  itemsDataForShown,
  hitInfo,
  spread
) {
  console.log(itemsDataForShown);
  for (const element of itemsDataForShown) {
    let item = element;
    if (
      (item.name === "gc.spread.insertRows" ||
        item.name === "gc.spread.deleteRows") &&
      hitInfo.worksheetHitInfo.hitTestType == 2
    ) {
      item.disable = true;
    }
  }
};

spread.contextMenu = new ContextMenu();

let sheet = spread.getActiveSheet();



以上代码重写了spreadSheet的右键菜单,使其在点击左侧rowHeader的时候禁用了插入行和删除行。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-9 15:46:28
2#
是在线表格编辑器还是单纯用SpreadJS呢,两者方法不同
回复 使用道具 举报
清酒℡
注册会员   /  发表于:2023-6-12 16:07:38
3#
Clark.Pan 发表于 2023-6-9 15:46
是在线表格编辑器还是单纯用SpreadJS呢,两者方法不同

单纯使用spreadsheet 不带设计器的那种
回复 使用道具 举报
清酒℡
注册会员   /  发表于:2023-6-20 15:24:54
5#
Joestar.Xu 发表于 2023-6-12 17:03
您好,请参考以下代码:

感谢,还有一个问题,就是我先在右键菜单里添加了 一个选项,但是设置表单保护后,这个选项自己隐藏,有办法让它和插入一样置灰显示吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-6-20 17:34:04
6#
清酒℡ 发表于 2023-6-20 15:24
感谢,还有一个问题,就是我先在右键菜单里添加了 一个选项,但是设置表单保护后,这个选项自己隐藏,有 ...

您好,听您描述您是自己自定了一个菜单选项,但是在设置了表单保护后这个选项隐藏起来了,想让它变成disabled的状态对吗?

如果是的话麻烦您提供一下您的Demo,我们这边结合实际代码调查一下看看是什么情况。
回复 使用道具 举报
清酒℡
注册会员   /  发表于:2023-6-20 17:42:43
7#
Joestar.Xu 发表于 2023-6-20 17:34
您好,听您描述您是自己自定了一个菜单选项,但是在设置了表单保护后这个选项隐藏起来了,想让它变成disa ...

阿这个问题刚刚解决了,因为contextMenu被重新覆盖导致的
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-6-20 17:55:02
8#
清酒℡ 发表于 2023-6-20 17:42
阿这个问题刚刚解决了,因为contextMenu被重新覆盖导致的

好的,后续有问题随时沟通哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部