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

QQ登录

只需一步,快速开始

tiny88

注册会员

9

主题

32

帖子

83

积分

注册会员

积分
83
tiny88
注册会员   /  发表于:2024-8-29 14:48  /   查看:71  /  回复:3
1金币
image.png257228087.png
如果表格里带公式,我们是要禁止更改单元格里内容的,现已控制了点击输入修改,但通过复制粘贴的可以修改掉的,请问怎么禁止?

3 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-8-29 15:53:21
沙发
您好!可以监听EditStrating事件,通过事件监听到的行列信息判断是否是包含公式的单元格,如果是,则设置args的cancel属性为true以阻断编辑动作。可参考如下代码:
  1. sheet.bind(GC.Spread.Sheets.Events.EditStarting, function(e, args) {
  2.     console.log('edit starting: ', e, args);
  3.     args.cancel = true;
  4. });
复制代码


回复 使用道具 举报
tiny88
注册会员   /  发表于:2024-8-29 16:17:19
板凳
不是,是复制粘贴操作
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-29 17:43:42
地板
tiny88 发表于 2024-8-29 16:17
不是,是复制粘贴操作

那就用ClipboardPasting事件,通过事件监听到的行列信息判断是否是包含公式的单元格,如果是,则设置args的cancel属性为true以阻断编辑动作。可参考如下代码:
  1. sheet.bind(GC.Spread.Sheets.Events.ClipboardChanging, function(e, args) {
  2.       console.log('clipboard pasting starting: ', e, args);
  3.       args.cancel = true;
  4. });
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部