找回密码
 立即注册

QQ登录

只需一步,快速开始

biz-dev

中级会员

99

主题

266

帖子

917

积分

中级会员

积分
917

微信认证勋章

biz-dev
中级会员   /  发表于:2020-3-16 16:12  /   查看:8359  /  回复:22
你好,
有关关于单元格锁定的问题想问一下,我这边有一个例子,已经上传到附件了。
问题如下:
1.生成一个excel。
2.通过 fromJSON导入一个表格
3.点击右侧的lock cell 按钮,有一个单元格被锁定
4.所有表格区域也跟着被锁定了(红框标注),没有表格的区域没受影响(蓝框标注)。
image.png341278991.png
请问这个是什么原因造成的?

lock cell.html

27.84 KB, 下载次数: 83

22 个回复

正序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-4-28 17:25:54
23#
对的,locked方法设置出来的都是单元格级别的样式,这样优先级最高,不会出现设置了无法生效的情况
回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-4-28 16:19:43
22#
本帖最后由 biz-dev 于 2020-4-28 16:42 编辑

本打算通过行列来解锁,但是因为cell的优先级要高于行列,所以即使给行列unlock了也不会影响到cell的lock状态。
也就是说,如果想要unlock cell的话,对外的就只用这一个接口可以使用呗。
没有其他的方式来进行这样的处理了?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-4-28 15:47:05
21#
本帖最后由 ClarkPan 于 2020-4-28 15:48 编辑

就是我上面回复的,底下API链接就是单元格格式Locked最终实现的接口,如果还是不明白的话,可以打我们的售后电话沟通一下
回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-4-28 15:18:34
20#
本帖最后由 biz-dev 于 2020-4-28 15:37 编辑

谢谢你的回复,但是你提供的方法目前还没办法解决我说的问题

目前发现只有使用spreadJS本身的设置locked(通过设置单元格格式弹出,如18楼截图所示)的方式才能解决这个问题,而且速度很快,想按照那个方式进行设定

请问这个用API要如何实现,如果能附一个例子就更好了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-4-28 14:14:55
19#
本帖最后由 ClarkPan 于 2020-4-28 14:22 编辑
  1. var defaultStyle = sheet.getDefaultStyle();
  2. defaultStyle.locked = false;
  3. sheet.setDefaultStyle(defaultStyle);
复制代码
这个是全局设置锁定的方法。
单个单元格设置锁定可以使用locked方法去设置,该方法可以设置一个单元格或者一片区域的锁定状态
https://demo.grapecity.com.cn/spreadjs/help/latest/content/SpreadJS~GC.Spread.Sheets.CellRange~locked.html



回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-4-28 09:25:05
18#
image.png528595885.png
spreadJS也有这个功能,而且速度很快,请问这个地方是如何实现的?
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-4-27 16:37:14
17#
Excel中确实默认每个单元格是锁定状态,要取消只能 image.png879361877.png 全选设置单元格格式,取消选中锁定
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-4-27 14:11:01
16#
单元格锁定我并没有特意去加这个东西啊,我是使用excel生成了一个excel文件,然后导入到spreadJS里面的。这样生成的就已经包含了锁定了。那要如何操作才能生成一个不包含锁定的excel文件(spreadJS文件)呢?
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-4-27 11:28:27
15#
如果原始Excel中不设置单元格锁定可以通过设置默认样式实现默认的单元格为未锁定,我看了您原来的Excel中是设置了单元格锁定,只能循环每个单元格设置sheet.getCell(1,1).locked(false)
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部