找回密码
 立即注册

QQ登录

只需一步,快速开始

gnip

高级会员

139

主题

367

帖子

1164

积分

高级会员

积分
1164
gnip
高级会员   /  发表于:2024-7-18 09:45  /   查看:1942  /  回复:12
1金币
image.png871567077.png 只隐藏这个tab标签的右击菜单,怎么处理呢

最佳答案

查看完整内容

楼主用的是在线表格设计器哈,在线表格设计器的tab栏右键菜单中的每一项是否显示都由对应对象的visibleContext属性控制,通过这个属性过滤右键菜单项,把符合条件的菜单项删除即可在tab栏右键时不再显示菜单框。 可参考如下代码: 详情可参考官网教程:https://demo.grapecity.com.cn/spreadjs/help/docs/faqs/contextMenu/open

12 个回复

倒序浏览
最佳答案
最佳答案
eat_grape_5
高级会员   /  发表于:2024-7-18 09:45:26
来自 7#
本帖最后由 Joestar.Xu 于 2024-7-18 11:37 编辑
gnip 发表于 2024-7-18 10:40
这么多枚举值,我怎么知道对应的那个?这个文档也没提供相关的注释信息吧

楼主用的是在线表格设计器哈,在线表格设计器的tab栏右键菜单中的每一项是否显示都由对应对象的visibleContext属性控制,通过这个属性过滤右键菜单项,把符合条件的菜单项删除即可在tab栏右键时不再显示菜单框。
可参考如下代码:
  1. var config = GC.Spread.Sheets.Designer.DefaultConfig;
  2. for(let i=0;i<config.contextMenu.length;i++){
  3.     if(GC.Spread.Sheets.Designer.getCommand(config.contextMenu[i]).visibleContext &&          GC.Spread.Sheets.Designer.getCommand(config.contextMenu[i]).visibleContext.indexOf("TabStripSelected") != -1){
  4.         config.contextMenu.splice(i,1)
  5.         i--;
  6.     }
  7. }
  8. designer.setConfig(config);
复制代码
详情可参考官网教程:https://demo.grapecity.com.cn/spreadjs/help/docs/faqs/contextMenu/open
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-18 10:05:45
2#
本帖最后由 eat_grape_5 于 2024-7-18 10:12 编辑

在Sheet页标签上右键菜单选项的各操作作用于工作表,比如“插入”的结果是插入一张新工作表,“删除”的结果是删除当前工作表。那么,找到这些选项对应的对象,将其对象设置为隐藏状态即可。可参考如下代码:

  1. var contextMenu = spread.contextMenu.menuData;
  2.     contextMenu.forEach(item => {
  3.         //  删除tab右键菜单中的“插入”、“删除”、“隐藏”等选项
  4.         if (item.name === 'gc.spread.insertSheet' || item.name === 'gc.spread.deleteSheet'
  5.             || item.name === 'gc.spread.hideSheet') {
  6.             item.disable = true;
  7.         }
  8. });
复制代码


回复 使用道具 举报
gnip
高级会员   /  发表于:2024-7-18 10:08:14
3#
eat_grape_5 发表于 2024-7-18 10:05
在Sheet页标签上右键菜单选项的各操作作用于工作表,比如“插入”的结果是插入一张新工作表,“删除”的结 ...

有没有配置项直接简单操作的,这样我还要去找对应菜单删除,况且还不值得对应枚举值
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-18 10:25:48
4#
本帖最后由 eat_grape_5 于 2024-7-18 10:32 编辑
gnip 发表于 2024-7-18 10:08
有没有配置项直接简单操作的,这样我还要去找对应菜单删除,况且还不值得对应枚举值

理解楼主想要的更简单的配置方式,但是暂时没有比这个更简单的接口了,这个也可以理解为配置项,而且在线表格设计器和SpreadJS的右键菜单选项隐藏方法还稍有区别,楼主在用的是在线表格设计器还是SpreadJS?上个回帖中的代码是SpreadJS的右键菜单选项隐藏方法。
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-7-18 10:40:23
5#
eat_grape_5 发表于 2024-7-18 10:25
理解楼主想要的更简单的配置方式,但是暂时没有比这个更简单的接口了,这个也可以理解为配置项,而且在线 ...

image.png719810180.png 这么多枚举值,我怎么知道对应的那个?这个文档也没提供相关的注释信息吧
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-7-18 10:53:59
6#
gnip 发表于 2024-7-18 10:40
这么多枚举值,我怎么知道对应的那个?这个文档也没提供相关的注释信息吧

image.png891325988.png ,删除完了只有还有这个没去掉
image.png84564208.png
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-18 10:58:27
8#
gnip 发表于 2024-7-18 10:53
,删除完了只有还有这个没去掉

用楼下这个方法试一下!
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-18 11:25:29
9#
您好,为什么要实现这样的效果呢?具体的需求是什么?
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-7-18 11:27:26
10#
Joestar.Xu 发表于 2024-7-18 11:25
您好,为什么要实现这样的效果呢?具体的需求是什么?

报表预览页面,肯定不能让操作了赛,只能切换sheet,其他的都是模板搞好了的,所以不能显示
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部