找回密码
 立即注册

QQ登录

只需一步,快速开始

鸳鸯配2024
金牌服务用户   /  发表于:2024-8-14 13:56:26
11#
Wilson.Zhang 发表于 2024-8-14 12:25
您可以参考如下代码实现在开启表单保护时对需要操作的单元格再编辑,设置样式同理:

这样还是回到之前的问题。


我想问下另外一种方式

就是,禁用工具栏的所有操作。
或者说是 拦截掉工具栏的操作。

但肯定不是对单元格进行保护的操作。

1723614963218.png42448119.png

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-14 15:16:17
12#
鸳鸯配2024 发表于 2024-8-14 13:56
这样还是回到之前的问题。

SpreadJS支持屏蔽工具栏,也就是不显示,这是您想要的效果吗?您关于这个问题的完整需求是什么呢?
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-14 15:24:25
13#
本帖最后由 鸳鸯配2024 于 2024-8-14 15:27 编辑
Wilson.Zhang 发表于 2024-8-14 15:16
SpreadJS支持屏蔽工具栏,也就是不显示,这是您想要的效果吗?您关于这个问题的完整需求是什么呢?

假如说,2行2列的单元格。是属于保护区域。
它用户点击了2行2列,我不希望它能对工具栏进行点击。还想屏蔽掉 Delete事件。
主要是不想用户改变它的值以及样式。


当用户点击其它的单元格的时候,对工具栏可以进行点击。Delete 还能正常使用。
主要是能够对值及样式进行操作
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-8-14 16:24:53
14#
您好,根据您的需求,使用表单保护是最好的选择。

表单保护可以设置全部单元格不能编辑,比如使用这行代码:

  1. sheet.options.isProtected = true;
复制代码
这个用法是最简单的用法。

当然大部分用户也会存在和您的需求一样的问题,就是我只是对一部分单元格不能编辑,另一部分单元格还是可以编辑,怎么处理呢?

这个就要说到我们SpreadJS的另一个属性了Locked.
sheet中Locked属性默认为true , ,只要加上一把锁,即(sheet.options.isProtected = true;) 这个表单就锁住了。

那如果Locked属性为false  ,此时加上锁,会出现什么结果呢?就是这个锁无效,单元格不受保护,可以编辑。
具体代码,我们前面的技术顾问已经给您介绍了。
也就是说,表单保护或者单元格保护需要Locked为true 和sheet.options.isProtected = true 这两个操作缺一不可。

再回到您的问题本身,一部分单元格想要锁上,一部分单元格想要编辑。
那就对想要编辑的单元格设置locked为false即可。
具体代码您可以好好看一下这篇文章
https://demo.grapecity.com.cn/sp ... tion/disableEditing
image.png923200073.png
image.png455783996.png




回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-14 16:38:44
15#
Ellia.Duan 发表于 2024-8-14 16:24
您好,根据您的需求,使用表单保护是最好的选择。

表单保护可以设置全部单元格不能编辑,比如使用这行代 ...

假如说,2行2列,不让用户点击。用户点击的时候,就设置
sheet.options.isProtected = true;

如果点击其它区域
sheet.options.isProtected = false,是这样理解?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-14 17:30:28
16#
鸳鸯配2024 发表于 2024-8-14 16:38
假如说,2行2列,不让用户点击。用户点击的时候,就设置
sheet.options.isProtected = true;

是的,关于用户点击单元格的判断可以通过CellClick事件监听。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-14 17:38:03
17#
Wilson.Zhang 发表于 2024-8-14 17:30
是的,关于用户点击单元格的判断可以通过CellClick事件监听。

明白了,这样好像确实能解决问题。太感谢了。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-14 17:41:06
18#
鸳鸯配2024 发表于 2024-8-14 17:38
明白了,这样好像确实能解决问题。太感谢了。

不客气!您先尝试,如有问题,咱们再继续讨论。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-14 18:07:43
19#
鸳鸯配2024 发表于 2024-8-14 17:38
明白了,这样好像确实能解决问题。太感谢了。

调研了下,发现一个新方法。开启表单保护时,可以设置一些属性以辅助控制其他操作,以您的场景为例来说明:
1. 对2行2列范围内的单元格统一解开锁定状态,让这些单元格不受表单保护控制。
2. 开启表单保护时,设置”选择未锁定的单元格“和”设置单元格格式“。
这样一来,当鼠标移动到未锁定的单元格区域内时,可以使用工具栏功能对这些单元格设置;当鼠标移动到锁定单元格时,工具栏按钮便无反应。如下动图所示:
表单保护.gif

您可以对比下两个方法,自行选择。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-14 18:15:48
20#
Wilson.Zhang 发表于 2024-8-14 18:07
调研了下,发现一个新方法。开启表单保护时,可以设置一些属性以辅助控制其他操作,以您的场景为例来说明 ...

明白了,我先看看,太感谢了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部