找回密码
 立即注册

QQ登录

只需一步,快速开始

tiny88

注册会员

12

主题

40

帖子

104

积分

注册会员

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

最佳答案

查看完整内容

那就用ClipboardPasting事件,通过事件监听到的行列信息判断是否是包含公式的单元格,如果是,则设置args的cancel属性为true以阻断编辑动作。可参考如下代码:

4 个回复

正序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-9-29 10:07:45
5#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
tiny88
注册会员   /  发表于:2024-8-29 16:17:19
3#
不是,是复制粘贴操作
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-29 15:53:21
2#
您好!可以监听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. });
复制代码


回复 使用道具 举报
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-8-29 14:48:32
来自 4#
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. });
复制代码


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