请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

爱心觉罗晓宇

注册会员

11

主题

36

帖子

95

积分

注册会员

积分
95
最新发帖
爱心觉罗晓宇
注册会员   /  发表于:2025-3-10 09:49  /   查看:93  /  回复:8
1金币
1741571356757.png684008483.png 1741571375253.png46194457.png

最佳答案

查看完整内容

您好!在Designer中,可以通过Worksheet:contextMenu获取右键菜单对应的对象ContextMenu,而右键菜单各选项由属性menuData记录。如果您只需要显示“全部粘贴”,可以将其他粘贴选项从menuData中删除,如下动图所示: 可参考如下代码: 参考官网产品文档了解详情: 删除右键菜单选项

8 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2025-3-10 09:49:47
来自 2#
本帖最后由 Wilson.Zhang 于 2025-3-10 14:56 编辑

您好!在Designer中,可以通过Worksheet:contextMenu获取右键菜单对应的对象ContextMenu,而右键菜单各选项由属性menuData记录。如果您只需要显示“全部粘贴”,可以将其他粘贴选项从menuData中删除,如下动图所示:
右键菜单仅显示一个粘贴选项.gif

可参考如下代码:
  1. //  待删除粘贴选项
  2. var deletedPasteItems = ['pasteFormula', 'designerPasteValues', 'designerPasteFormatting', 'pasteValuesFormatting', 'pasteFormulaFormatting'];
  3. var newMenuData = [];
  4. spread.contextMenu.menuData.forEach(item => {
  5.     if (!deletedPasteItems.includes(item.command)) {
  6.         newMenuData.push(item);
  7.     }
  8. });
  9. spread.contextMenu.menuData = newMenuData;
复制代码

参考官网产品文档了解详情:
删除右键菜单选项
回复 使用道具 举报
爱心觉罗晓宇
注册会员   /  发表于:2025-3-10 14:30:34
3#
Wilson.Zhang 发表于 2025-3-10 13:57
您好!从您提供的图示看您使用的是SpreadJS控件,而非Designer。

在SperadJS控件中,可以通过Worksheet: ...

我在截图中的代码添加你上面的代码发现我这边还是没有隐藏   
回复 使用道具 举报
爱心觉罗晓宇
注册会员   /  发表于:2025-3-10 14:40:05
4#
爱心觉罗晓宇 发表于 2025-3-10 14:30
我在截图中的代码添加你上面的代码发现我这边还是没有隐藏

打印出来command
:
"gc.spread.contextMenu.pasteFormula" 是这种的
回复 使用道具 举报
爱心觉罗晓宇
注册会员   /  发表于:2025-3-10 14:45:57
5#
爱心觉罗晓宇 发表于 2025-3-10 14:40
打印出来command
:
"gc.spread.contextMenu.pasteFormula" 是这种的

换成  var deletedPasteItems = ['gc.spread.contextMenu.pasteFormula', 'gc.spread.contextMenu.designerPasteValues', 'gc.spread.contextMenu.designerPasteFormatting', 'gc.spread.contextMenu.pasteValuesFormatting', ]; 可以隐藏一部分
回复 使用道具 举报
爱心觉罗晓宇
注册会员   /  发表于:2025-3-10 14:51:47
6#
爱心觉罗晓宇 发表于 2025-3-10 14:30
我在截图中的代码添加你上面的代码发现我这边还是没有隐藏

      var deletedPasteItems = ['gc.spread.contextMenu.pasteFormula', 'gc.spread.contextMenu.pasteValues', 'gc.spread.contextMenu.pasteFormatting', 'gc.spread.contextMenu.pasteValuesFormatting', 'gc.spread.contextMenu.pasteFormulaFormatting']; 这个可以全部隐藏了 这种写法可以吗
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-10 14:54:08
7#
爱心觉罗晓宇 发表于 2025-3-10 14:51
var deletedPasteItems = ['gc.spread.contextMenu.pasteFormula', 'gc.spread.contextMenu.pasteV ...

可以的,因为您使用的是SpreadJS控件,我给您提供的示例是Designer中右键菜单选项的command属性值,您使用的正是SpreadJS中右键菜单选项的command属性值,所以可以放心使用。抱歉未给您描述清楚,我修改下原答案中的command属性名称。
回复 使用道具 举报
爱心觉罗晓宇
注册会员   /  发表于:2025-3-10 14:54:52
8#
Wilson.Zhang 发表于 2025-3-10 14:54
可以的,因为您使用的是SpreadJS控件,我给您提供的示例是Designer中右键菜单选项的command属性值,您使 ...

好的 感谢  已经解决了  谢谢老师
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-10 14:56:31
9#
爱心觉罗晓宇 发表于 2025-3-10 14:54
好的 感谢  已经解决了  谢谢老师

那就结贴了,如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部