找回密码
 立即注册

QQ登录

只需一步,快速开始

satoshi

注册会员

4

主题

18

帖子

48

积分

注册会员

积分
48
satoshi
注册会员   /  发表于:2021-9-10 09:50  /   查看:4267  /  回复:10
1金币
desinger原本的右键菜单是这样的
}[4JBBIYFW4%[DBS4JVUT`T.png153750609.png
但是我根据官网的
ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(designer);
ContextMenu.prototype.onOpenMenu = (menuData, itemsDataForShown, hitInfo, spread) => {
  // TODO
}

....
重写onOpenMenu事件后.右键菜单就变成了
VY22)F{}@I30`}Z}VNOQCBS.png394483031.png
请问有什么办法能保持图1的右键菜单重写onOpenMenu事件

最佳答案

查看完整内容

desiger的右键菜单和SpreadJS的右键菜单可以理解为两套不同的系统,在designer中无法通过重写onOpenMenu实现。

10 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-10 09:50:17
来自 11#
satoshi 发表于 2021-9-10 16:50
那保持图1的右键菜单重写onOpenMenu事件能实现吗

desiger的右键菜单和SpreadJS的右键菜单可以理解为两套不同的系统,在designer中无法通过重写onOpenMenu实现。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-9-10 10:24:50
2#
您好,
您是执行了什么代码使得右键菜单发生了变化呢?
请直接提供一个可复现此问题的demo,并详细的描述您的需求和期待效果。
这边在代码基础上进行测试。
回复 使用道具 举报
satoshi
注册会员   /  发表于:2021-9-10 10:40:45
3#
Lynn.Dou 发表于 2021-9-10 10:24
您好,
您是执行了什么代码使得右键菜单发生了变化呢?
请直接提供一个可复现此问题的demo,并详细的描述 ...

Designer.zip (988 Bytes, 下载次数: 170)
回复 使用道具 举报
satoshi
注册会员   /  发表于:2021-9-10 10:42:17
4#

我想保持图1的右键菜单重写onOpenMenu事件
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-9-10 14:16:00
5#
designer的右键菜单是对SpreadJS二次封装实现的,从代码看,您是想去掉右键菜单 删除 项吗?
需要对designer的contextMenu 进行操作,
  1. let designerConfig = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));
  2. designerConfig.contextMenu.forEach(function(item, index, arr) {
  3.     if(item == "gc.spread.contextMenu.deleteRows") {
  4.         designerConfig.contextMenu.splice(index, 1)
  5.     }
  6. })
  7. var d = new GC.Spread.Sheets.Designer.Designer(document.getElementById("gc-designer-container"), designerConfig, spread);
  8.                
复制代码


具体您可以参考附件的demo。
此外,这篇技术文章您也可以参考下:
https://gcdn.grapecity.com.cn/fo ... 6&fromuid=59119

组件版设计器_删除右键菜单项.zip

1.21 MB, 下载次数: 181

回复 使用道具 举报
satoshi
注册会员   /  发表于:2021-9-10 14:23:05
6#
Lynn.Dou 发表于 2021-9-10 14:16
designer的右键菜单是对SpreadJS二次封装实现的,从代码看,您是想去掉右键菜单 删除 项吗?
需要对design ...

我是想只除去fileName的删除项
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-9-10 14:42:46
7#
将上述回答中的“gc.spread.contextMenu.deleteRows” 修改为 “gc.spread.contextMenu.deleteSheet” 就好了。
原理是一样的
image.png307169188.png
回复 使用道具 举报
satoshi
注册会员   /  发表于:2021-9-10 14:50:08
8#
Lynn.Dou 发表于 2021-9-10 14:42
将上述回答中的“gc.spread.contextMenu.deleteRows” 修改为 “gc.spread.contextMenu.deleteSheet” 就好 ...

这样是将所有的sheet删除项去掉吧? 我是想将指定的sheet页的删除项去除
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-10 16:32:21
9#
satoshi 发表于 2021-9-10 14:50
这样是将所有的sheet删除项去掉吧? 我是想将指定的sheet页的删除项去除

目前不支持删除指定表单的右键菜单项,只能删除所有表单的右键菜单“删除”项。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部