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

QQ登录

只需一步,快速开始

Litt101

注册会员

18

主题

57

帖子

195

积分

注册会员

积分
195
Litt101
注册会员   /  发表于:2025-1-14 16:08  /   查看:84  /  回复:5
1金币
V12 剪切粘贴单元格后,源单元格不可编辑,之前做过复制粘贴跳过只读单元格的需求,请问剪切单元格不可编辑的问题应该如何解决

V12复制粘贴跳过只读单元格 Demo.zip

2.88 MB, 下载次数: 1

最佳答案

查看完整内容

您好,在SpreadJS V12版本中,剪切一个未锁定的单元格A,粘贴至另一个未锁定的单元格B,并不会导致A被设定为锁定状态,这一点我已经测试过了。但在您的demo中,单元格A的确会被锁定,我目前没有找到原因。 所以我的思路是在粘贴时,如果这一次是剪切过来的,就将源区域设定为非锁定。但由于V12版本的ClipBoardPasted事件中没有返回fromRange参数,所以需要我们自行记录一下fromRange,我使用了ClipboardChanged事件来记录。 ...

5 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-1-14 16:08:05
来自 2#
您好,在SpreadJS V12版本中,剪切一个未锁定的单元格A,粘贴至另一个未锁定的单元格B,并不会导致A被设定为锁定状态,这一点我已经测试过了。但在您的demo中,单元格A的确会被锁定,我目前没有找到原因。
所以我的思路是在粘贴时,如果这一次是剪切过来的,就将源区域设定为非锁定。但由于V12版本的ClipBoardPasted事件中没有返回fromRange参数,所以需要我们自行记录一下fromRange,我使用了ClipboardChanged事件来记录。
image.png43868102.png
image.png183932799.png

您也可以升级至最新版本,ClipBoardPasted事件会直接返回fromRange。
您可以在代码中搜索“Matthew”来找到我修改的地方~



232522.zip

2.96 MB, 下载次数: 3

回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-21 11:46:49
3#
您好,请问您的疑问是否已经解决了呢,如果解决了的话,这边就结贴啦
回复 使用道具 举报
Litt101
注册会员   /  发表于:2025-1-21 13:52:19
4#
Matthew.Xue 发表于 2025-1-21 11:46
您好,请问您的疑问是否已经解决了呢,如果解决了的话,这边就结贴啦

我在粘贴后事件里设置sheet.getCell(row,col).locked(false),还是不可以呢老师,我是在上面demo里直接修改的
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-21 14:23:35
5#
Litt101 发表于 2025-1-21 13:52
我在粘贴后事件里设置sheet.getCell(row,col).locked(false),还是不可以呢老师,我是在上面demo里直接修 ...

您说的locked(false)是设置单元格可以编辑,我说没有找到的是在你的demo设置locked(true)的地方,所以我不清楚为何你demo里原单元格不可编辑。
尽管如此,在我上传的demo中,通过我之前提到的方法,目前已经做到了原单元格可编辑,无需增加其他代码,您可以查看我上传的视频

2025-01-21 14-21-54.mp4

3.61 MB, 下载次数: 0

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-2-6 13:37:40
6#
您好!由于您较长时间未回复,且从跟帖回复中了解到问题已得到有效解答,那就结贴了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部