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

QQ登录

只需一步,快速开始

一叶知秋@

金牌服务用户

7

主题

14

帖子

55

积分

金牌服务用户

积分
55
一叶知秋@
金牌服务用户   /  发表于:2025-3-18 14:14  /   查看:151  /  回复:7
1金币
https://demo.grapecity.com.cn/sp ... rksheet/protection#

问题3.png

上面官方例子中在保护单元格下,如图红框的位置右键选择复制,然后粘贴是没有效果的;我看这种复制是复制不了东西的,这种要怎么调整才能正常复制粘贴呢?我本地版本也是一样的

最佳答案

查看完整内容

这边再补充一下,如果您业务仅仅是不想让用户通过输入的方式编辑单元格,但是允许用户通过粘贴、拖拽、自动填充等方式修改单元格的话,那么您就不必使用表单保护的方式来做,还有两种更灵活的方式。 第一,如果您仅仅是不想让用户输入编辑,允许用户通过其他方式修改单元格,那么可以使用V18版本推出的新功能“允许编辑单元格”,取消此勾选后,就可以禁止用户进入编辑状态了,这种方式非常简单。也可以用代码实现: 或者直接对 ...

7 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-3-18 14:14:59
来自 3#
这边再补充一下,如果您业务仅仅是不想让用户通过输入的方式编辑单元格,但是允许用户通过粘贴、拖拽、自动填充等方式修改单元格的话,那么您就不必使用表单保护的方式来做,还有两种更灵活的方式。
第一,如果您仅仅是不想让用户输入编辑,允许用户通过其他方式修改单元格,那么可以使用V18版本推出的新功能“允许编辑单元格”,取消此勾选后,就可以禁止用户进入编辑状态了,这种方式非常简单。也可以用代码实现:
  1. let style = new GC.Spread.Sheets.Style()
  2. style.allowEditInCell = false
复制代码
或者直接对整个sheet的默认样式进行修改:
  1. let defaultStyle = sheet.getDefaultStyle()
  2. defaultStyle.allowEditInCell = false
  3. sheet.setDefaultStyle(defaultStyle)
复制代码
image.png28671263.png



第二,您可以通过事件监听来实现,这种方式比上一种更加灵活。spreadjs的事件监听大部分都包含ing和ed事件,即事件发生之前和发生之后,在事件发生之前,可以通过cancel来取消本次事件,比如cancel掉editStarting事件就可以阻止用户进入编辑状态,上述的拖拽、粘贴等都有相应的事件。这边有一个demo已经实现了此功能,可以阻止用户的各种编辑操作,您可以在这个基础上做修改,使用的方式在demo中也有示例。




AuthController.js

3.11 KB, 下载次数: 2

回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-3-18 14:32:49
2#
您好,这是正常的行为,保护sheet本身就是为了防止sheet被修改的,如果您确实想要修改,则需要将sheet的保护解除。
  1. sheet.options.isProtected = false
复制代码

或者对您要粘贴的区域设置为非锁定状态,但前提是您可以提前知道用户要往哪里粘贴,或者您的本意就是限制用户只能在某个区域粘贴。
  1. // 设置A1单元格为非锁定状态
  2. sheet.getRange(0,0,1,1).locked(false)
  3. // 设置第一行全部为非锁定状态
  4. sheet.getRange(0,-1,1,-1).locked(false)
复制代码
回复 使用道具 举报
一叶知秋@
金牌服务用户   /  发表于:2025-3-21 14:03:28
4#
Matthew.Xue 发表于 2025-3-19 09:31
这边再补充一下,如果您业务仅仅是不想让用户通过输入的方式编辑单元格,但是允许用户通过粘贴、拖拽、自动 ...

好我试试第二种
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-3-21 14:18:14
5#

好的,有进展可以随时回复我
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-28 11:51:19
6#
您好!由于您较长时间未回复,且从跟帖回复中了解到Matthew给您详细介绍了使用方法,请教下您问题解决的怎么样了?
回复 使用道具 举报
一叶知秋@
金牌服务用户   /  发表于:2025-3-31 15:40:12
7#
Wilson.Zhang 发表于 2025-3-28 11:51
您好!由于您较长时间未回复,且从跟帖回复中了解到Matthew给您详细介绍了使用方法,请教下您问题解决的怎 ...

目前还没有尝试,后续项目内部说这个不紧急,所以我这边没跟进这个了
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-31 16:34:55
8#
一叶知秋@ 发表于 2025-3-31 15:40
目前还没有尝试,后续项目内部说这个不紧急,所以我这边没跟进这个了

好的,如果之后跟进遇到问题,欢迎您发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部