找回密码
 立即注册

QQ登录

只需一步,快速开始

白鱼

中级会员

61

主题

227

帖子

586

积分

中级会员

积分
586
白鱼
中级会员   /  发表于:2024-1-22 14:20  /   查看:2621  /  回复:6
本帖最后由 Richard.Huang 于 2024-1-31 11:52 编辑

产品:SpreadJS
版本:V15.2.2

我看到一篇旧帖子
https://gcdn.grapecity.com.cn/showtopic-96465-1-23.html
可以直接item.display=true禁用按钮,但是尝试没有效果,是更新了吗?在15.2.2版本要根据条件禁用单元格右键按钮这个该怎么处理呢?

6 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-22 15:04:06
沙发
您好,如果是要禁用右键菜单的话,可以使用

spread.options.allowContextMenu = false;

来实现这个需求。
回复 使用道具 举报
白鱼
中级会员   /  发表于:2024-1-22 15:17:44
板凳
Joestar.Xu 发表于 2024-1-22 15:04
您好,如果是要禁用右键菜单的话,可以使用

spread.options.allowContextMenu = false;

我只需要禁用某一个菜单,不禁用所有菜单
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-22 17:06:21
地板
您参考以下代码再试试看能否实现您的需求:

  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.   let oldOpenMenu = spread.contextMenu.onOpenMenu;
  12.   spread.contextMenu.onOpenMenu = function (
  13.     menuData,
  14.     itemsDataForShown,
  15.     hitInfo,
  16.     spread
  17.   ) {
  18.     oldOpenMenu.apply(this, arguments);
  19.     console.log(itemsDataForShown);
  20.     for (const element of itemsDataForShown) {
  21.       const item = element;
  22.       if (item.name == "sheetTag") {
  23.         itemsDataForShown.splice(9, 1);
  24.       }
  25.     }
  26.   };
  27. };
复制代码
回复 使用道具 举报
白鱼
中级会员   /  发表于:2024-1-23 10:17:54
5#
Joestar.Xu 发表于 2024-1-22 17:06
您参考以下代码再试试看能否实现您的需求:

只能删除不能显示禁用吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-23 10:54:00
6#
您好,如果是禁用的话请使用:

item.disable = true;

来实现。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-1-30 11:56:55
7#
您好,通过楼上的回复是否可以解决您的问题,如果已解决,本贴就先结贴了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部