找回密码
 立即注册

QQ登录

只需一步,快速开始

littleknife

高级会员

199

主题

452

帖子

1865

积分

高级会员

积分
1865
littleknife
高级会员   /  发表于:2018-12-18 15:37  /   查看:10841  /  回复:24
我们业务的应用场景是这样的:批量粘贴多个单元格到SpreadJS表格时,需要跳过已锁定的单元格,即不改变已锁定单元格的内容,而改变其单元格内容。
但是SpreadJS粘贴遇到锁定单元格,没有触发粘贴事件。我们就没有时机去处理实现。

24 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-18 16:52:22
沙发
您好,实在是很抱歉,前贴已经给您解释了这个情况是SpreadJS底层设计的问题,

https://gcdn.grapecity.com.cn/fo ... p;extra=&page=1

您这个需求目前只能是通过work around的方式来解决,

SpreadJS 分为两种粘贴的情况,

一种是调用SpreadJS内部的剪贴板,这样当表格被锁定时,

可以通过设置shortkey的方式触发命令来实现粘贴,

另一种是使用系统剪贴板,例如使用Ctrl + V来粘贴内容时,

这种情况下表格锁定时就无法实现了。
回复 使用道具 举报
littleknife
高级会员   /  发表于:2018-12-18 17:13:29
板凳
KevinChen 发表于 2018-12-18 16:52
您好,实在是很抱歉,前贴已经给您解释了这个情况是SpreadJS底层设计的问题,

https://gcdn.grapecity.c ...

之前提供的替代方案是:把锁定的单元格保存起来,绑定不可编辑事件,在值改变时恢复原值。
但这种方案并不能满足需求,因为锁定包含的东西是在是比较多,不只是编辑。自己实现一个锁定功能不太现实。
最好的方法是粘贴的时候遇到锁定单元格也触发粘贴前后的事件,你们觉得呢?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-18 18:09:44
地板
您好,是这样,在您执行粘贴操作时,如果粘贴目标区域内没有锁定状态的单元格时,

是可以正常执行粘贴操作的,而如果存在着被锁定单元格时,是无法进行操作的。

在被保护的表单中,并非无法触发事件,而是操作被阻止了,这也是与Excel的行为是一致的。
回复 使用道具 举报
littleknife
高级会员   /  发表于:2018-12-18 19:10:30
5#
KevinChen 发表于 2018-12-18 18:09
您好,是这样,在您执行粘贴操作时,如果粘贴目标区域内没有锁定状态的单元格时,

是可以正常执行粘贴操 ...

那有没有其他办法实现这个需求呢?这个功能还挺重要的
回复 使用道具 举报
nssol_sh
注册会员   /  发表于:2018-12-19 07:50:30
6#
有同样的需求,坐等完美的解决方案
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-19 09:30:13
7#
这个问题我这边需要提交给研发总部来讨论一下,帖子状态暂时改为“保留处理”,后续进展我会在本帖贴出。
回复 使用道具 举报
littleknife
高级会员   /  发表于:2018-12-19 09:58:17
8#
KevinChen 发表于 2018-12-19 09:30
这个问题我这边需要提交给研发总部来讨论一下,帖子状态暂时改为“保留处理”,后续进展我会在本帖贴出。

好的,感谢!
我看到有其他帖子说可以改ctrl + v的action,感觉也是一个思路,请教一下怎么改
https://gcdn.grapecity.com.cn/showtopic-36472-1-1.html(原贴)
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-19 11:14:14
9#
littleknife 发表于 2018-12-19 09:58
好的,感谢!
我看到有其他帖子说可以改ctrl + v的action,感觉也是一个思路,请教一下怎么改
https:// ...

不客气,这个帖子提出的方案,只能解决部分问题。

楼上我也提出了这个问题:

SpreadJS 分为两种粘贴的情况,

一种是调用SpreadJS内部的剪贴板,这样当表格被锁定时,

可以通过设置shortkey的方式触发命令来实现粘贴,

另一种是使用系统剪贴板,例如使用Ctrl + V来粘贴内容时,

这种情况下表格锁定时就无法实现了。

这个帖子说的这个方案,只能实现在同一个Spread实例内部实现粘贴操作,

我做了一个Demo,您运行一下看看效果就了解了,

它实际上走的是Spread内部的剪贴板,还是无法调用到系统剪贴板。

PastingOverLockedCells_littleknife.html

3.42 KB, 下载次数: 183

回复 使用道具 举报
littleknife
高级会员   /  发表于:2018-12-19 13:46:02
10#
KevinChen 发表于 2018-12-19 11:14
不客气,这个帖子提出的方案,只能解决部分问题。

楼上我也提出了这个问题:

试了你的demo遇到包含锁定单元格也是粘贴不成功
期待你们的讨论结果~
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部