找回密码
 立即注册

QQ登录

只需一步,快速开始

木舟

注册会员

14

主题

49

帖子

153

积分

注册会员

积分
153
木舟
注册会员   /  发表于:2021-11-10 14:29  /   查看:3721  /  回复:11
本帖最后由 木舟 于 2021-11-10 14:37 编辑

QQ截图20211110142145.jpg
你好,如图所示,全部粘贴是默认自带的右键菜单,我想在点击全部粘贴的时候做一个弹窗的提示,这种应该如何处理呢?要自己重写一个粘贴菜单么?能不能在这个原有的菜单上面添加重写呢?

ps: 我知道内部复制粘贴可以监听的到粘贴事件来进一步弹窗操作,但是现在我需要外部复制,粘贴到这的话,粘贴事件貌似没办法触发,所以才有这样的需求

11 个回复

正序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-11-11 13:44:12
推荐
主要代码:
  1. var config = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));
  2.                         var newPasteCommand = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.DesignerPasteAll);
  3.                         if(newPasteCommand){
  4.                                 var oldExecute = newPasteCommand.execute;
  5.                                 newPasteCommand.execute = function(context, propertyName, args){
  6.                                     //添加confirm逻辑
  7.                                         alert("粘贴");
  8.                                        
  9.                                         oldExecute.call(this, context, propertyName, args)
  10.                                 }
  11.                         }
  12.                         config.commandMap = {};
  13.                         config.commandMap[GC.Spread.Sheets.Designer.CommandNames.DesignerPasteAll] = newPasteCommand;

  14.                         var d = new GC.Spread.Sheets.Designer.Designer(document.getElementById("gc-designer-container"), config);
复制代码


完整代码请参考附件demo

组件版设计器-重写右键菜单全部粘贴项.zip

2.11 MB, 下载次数: 364

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-11-11 16:09:18
12#
您客气了,那本帖就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
木舟
注册会员   /  发表于:2021-11-11 15:53:24
11#

可以,谢谢!
回复 使用道具 举报
木舟
注册会员   /  发表于:2021-11-11 13:09:28
9#
Lynn.Dou 发表于 2021-11-11 12:33
这边尝试根据此需求整理一个demo,预计下午回复您。

好的, 谢谢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-11-11 12:33:47
8#
这边尝试根据此需求整理一个demo,预计下午回复您。
回复 使用道具 举报
木舟
注册会员   /  发表于:2021-11-11 10:46:36
7#
Lynn.Dou 发表于 2021-11-10 17:32
前面的例子是针对于SpreadJS的,
组件版设计器自定义右键菜单参考下方链接文章:
https://gcdn.grapecity ...

我想在组件设计器原有粘贴功能的基础上添加判断操作,不是自己重新定义一个粘贴右键,在组件设计器的原粘贴功能上如何实现呢,或者能不能在原基础上重写?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-11-10 17:32:45
6#
前面的例子是针对于SpreadJS的,
组件版设计器自定义右键菜单参考下方链接文章:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=135288
回复 使用道具 举报
木舟
注册会员   /  发表于:2021-11-10 16:34:02
5#
Lynn.Dou 发表于 2021-11-10 16:23
“在外部复制通过鼠标操作,右键菜单 粘贴全部”
没有办法触发事件

我刚看论坛说designer的右键菜单和spreadjs的右键菜单是不同的是么?刚才上面重写的例子是针对spreadjs右键菜单的是么?如果是那designer的右键菜单如何重写呢?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-11-10 16:23:33
地板
“在外部复制通过鼠标操作,右键菜单 粘贴全部”
没有办法触发事件

“使用鼠标粘贴的时候弹窗提示他使用快捷键粘贴”
参考前面提供的链接文章-重写右键菜单,
demo中根据需要,在 execute 方法中添加弹窗相关代码,
如:
alert("请使用快捷键进行粘贴");
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部