找回密码
 立即注册

QQ登录

只需一步,快速开始

硕㏒

金牌服务用户

29

主题

100

帖子

289

积分

金牌服务用户

积分
289
硕㏒
金牌服务用户   /  发表于:2024-5-30 16:06  /   查看:353  /  回复:5
1金币
下面是我在初始化的时候,执行的方法:

  1.    changeOpenMenu() {
  2.       // 修改右键菜单的打开事件
  3.       let spread = this.spread;
  4.       let oldOpenMenu = spread.contextMenu.onOpenMenu;
  5.       spread.contextMenu.onOpenMenu = function (
  6.         menuData,
  7.         itemsDataForShown,
  8.         hitInfo
  9.       ) {
  10.         // 调用原始的菜单打开事件处理函数
  11.         oldOpenMenu.apply(this, arguments);
  12.         // 如果点击的是工作表区域
  13.         if (hitInfo.worksheetHitInfo.hitTestType === 2) {
  14.           // 移除前12项菜单
  15.           itemsDataForShown.splice(0, 12);
  16.           // 移除接下来9项菜单
  17.           itemsDataForShown.splice(1, 9);
  18.         }
  19.       };
  20.     },
复制代码
image.png878364868.png
页面只保留了一个删除按钮,有个场景需要重构下这个删除的方法:当前点击的行的位置属于sheet中table的行,那么我需要重构删除的逻辑,如果在非table的区域点击了删除,还是按照原本的自带的删除逻辑执行,这个怎么操作呢

5 个回复

倒序浏览
硕㏒
金牌服务用户   /  发表于:2024-5-30 17:30:00
沙发
发现一个问题,在右击列的时候,可以实现制保留一个删除按钮,但是在横向的行表头的地方右击,也有个菜单,然后这个方法也执行了,怎么实现只在右击列的时候保留删除按钮?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-5-30 17:33:25
板凳
您好,可以参考一下这个帖子:

https://gcdn.grapecity.com.cn/showtopic-216701-1-1.html

这个帖子中是重写了插入行指令,重写命令的大体框架和这个帖子中的代码差不多,可以先尝试重写一下看看。

Command的名称可以通过打印itemsDataForShown对象获取。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-5-31 10:49:58
地板
您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。
回复 使用道具 举报
硕㏒
金牌服务用户   /  发表于:2024-5-31 15:46:01
5#
Joestar.Xu 发表于 2024-5-31 10:49
您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。

还没来的及去试验,先忙别的东西了,等后面单独排出来时间我弄下
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-5-31 15:50:23
6#
好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部