找回密码
 立即注册

QQ登录

只需一步,快速开始

wangjs097125

注册会员

16

主题

44

帖子

144

积分

注册会员

积分
144

活字格认证微信认证勋章

wangjs097125
注册会员   /  发表于:2019-8-14 09:28  /   查看:3590  /  回复:6
想要部分表格不能被粘贴,在HTML里绑了clipboardpasted事件,但是没能触发。有什么办法能控制范围内表格不允许粘贴吗?

6 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2019-8-14 11:36:15
沙发
您好,在事件中设置args.cancel = true;即可。
activeSheet.bind(GC.Spread.Sheets.Events.ClipboardChanging, function (sender, args) {
    args.cancel = true;
});
你说你没有触发事件,这个问题需要看下代码才知道为什么没触发,附件中的代码打开控制台可以看到复制粘贴事件可以正常触发,您可以参考一下。

SpreadJSBasicDemo2.zip

4.91 KB, 下载次数: 144

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
wangjs097125
注册会员   /  发表于:2019-8-14 16:46:04
板凳
谢谢,触发了,但是复制事件传的参数里并没有行和列,要怎样才能控制部分可以被复制,部分不可以呢?
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-8-14 17:01:55
地板
args参数里面有行列的信息:
例如args.cellRange.col 就是对应的行:
sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
    console.log(args)
    console.log("ClipboardPasting");
});
image.png419498900.png
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
wangjs097125
注册会员   /  发表于:2019-8-14 17:26:15
5#
粘贴触发事件的参数里有cellrange,但是复制事件的参数里没有,那怎样设置范围可复制呢
回复 使用道具 举报
wangjs097125
注册会员   /  发表于:2019-8-14 17:27:42
6#
我用的angular里提供的事件,没有用bind,之前试过用bind方法,但是报错了说识别不了
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-8-14 17:47:38
7#
你是想控制一些单元格不让复制,这个可以通过表单保护来实现,设置表单保护,设置一部分单元格是锁定状态,让锁定的单元格不可被选中,这样锁定的单元格不能被复制及编辑。
https://demo.grapecity.com.cn/Sp ... /#/demos/protection
如果想让一个单元可以被编辑但是不能复制,那需要控制Ctrl+c快捷键,及右键菜单中的复制功能。
获取当前选中的区域,判断当中有不允许的复制的单元格,则禁用Ctrl+c快捷键,并且右键禁用复制选项。
参考API:
https://demo.grapecity.com.cn/sp ... dManager~_ctor.html

https://demo.grapecity.com.cn/Sp ... emos/customMenuView
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部