找回密码
 立即注册

QQ登录

只需一步,快速开始

ld2myt

初级会员

14

主题

41

帖子

342

积分

初级会员

积分
342
ld2myt
初级会员   /  发表于:2018-11-13 13:30  /   查看:5699  /  回复:10
您好我现在想吧某一个单元格进行锁定操作,但是不想锁定整个sheet


.locked(true) 设置了但是感觉没有什么用呢?

10 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-13 15:30:43
沙发
您好,关于表单保护以及单元格绑定的操作,可以参考葡萄城官网学习指南:

https://demo.grapecity.com.cn/Sp ... /#/demos/protection
回复 使用道具 举报
freedom2012
注册会员   /  发表于:2021-7-16 10:47:54
板凳
给点有用的回复
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-16 11:00:49
地板

请问你了解表单保护吗?请问你的问题是什么呢?这是表单保护的链接
https://demo.grapecity.com.cn/sp ... rksheet/protection#

设置表单保护之后,如果想让该单元格可以编辑,则设置单元格的locked属性为fasle。
回复 使用道具 举报
freedom2012
注册会员   /  发表于:2021-7-16 11:10:35
5#
Derrick.Jiao 发表于 2021-7-16 11:00
请问你了解表单保护吗?请问你的问题是什么呢?这是表单保护的链接
https://demo.grapecity.com.cn/spre ...

需求是锁定指定单元格
1、sheet.options.isProtected = true;  结果整个表格被锁定了
2、如果直接锁定单元格无效
sheet.getCell(row, col).locked(true)
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-16 11:32:27
6#
freedom2012 发表于 2021-7-16 11:10
需求是锁定指定单元格
1、sheet.options.isProtected = true;  结果整个表格被锁定了
2、如果直接锁定 ...

建议你仔细看下我贴的链接。这个行为属于产品设计,也是与Excel一样的。

在Excel中,设置表单保护之后,所有的单元格都是不可编辑的,除非取消勾选 image.png114837035.png

直接锁定单元格肯定是无效的,这个locked属性生效的前提是设置表单保护,也就是调用[size=1em]sheet.options.isProtected = true之后locked属性才能生效

默认情况下设置表单保护之后,所有的单元格都是locked的,如果你想这个单元格不可编辑,就将locked设为false。另外,这个链接你也可以看下。同时你也可以去试试excel
https://gcdn.grapecity.com.cn/fo ... hread&tid=87329


回复 使用道具 举报
freedom2012
注册会员   /  发表于:2021-7-16 13:42:25
7#
Derrick.Jiao 发表于 2021-7-16 11:32
建议你仔细看下我贴的链接。这个行为属于产品设计,也是与Excel一样的。

在Excel中,设置表单保护之后 ...

照你这么说,如果表格里有1000个格子,sheet.options.isProtected = true之后,我还需要解锁999个,留下需要锁住的那个(链接早看过了)
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-16 13:59:54
8#
freedom2012 发表于 2021-7-16 13:42
照你这么说,如果表格里有1000个格子,sheet.options.isProtected = true之后,我还需要解锁999个,留下 ...

不需要啊,用sheet.getRange(0,0,sheet.getRowCount(),sheet.getColumnCount()).locked(false);就可以把表单所有的单元格的locked属性设为false,然后需要哪个单元格不可编辑就单独设为true就行了,就几句代码。建议你去试一下。 image.png228042906.png
回复 使用道具 举报
freedom2012
注册会员   /  发表于:2021-7-16 15:42:02
9#
Derrick.Jiao 发表于 2021-7-16 13:59
不需要啊,用sheet.getRange(0,0,sheet.getRowCount(),sheet.getColumnCount()).locked(false);就可以把 ...

保护sheet-解锁sheet-再锁定指定单元格,可以了。吐槽一下这个设计不人道
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-16 16:16:46
10#
freedom2012 发表于 2021-7-16 15:42
保护sheet-解锁sheet-再锁定指定单元格,可以了。吐槽一下这个设计不人道

这个设计也是和excel一致的,因为表单保护最原始的目的就是保护表单不被编辑的。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部