找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] spread复制粘贴

littleknife
金牌服务用户   /  发表于:2018-11-20 17:32  /   查看:7263  /  回复:11
spread选择一个区域复制,再粘贴的时候如果遇到锁定的单元格,则不进行粘贴。请问能否支持,在粘贴时,跳过锁定的单元格,其他非锁定的单元格还是正常粘贴呢?

11 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-20 17:50:40
沙发
您好,SpreadJS有粘贴前后的响应事件,

但是如果粘贴时遇到被锁定的单元格,事件不会被触发,

所以在单元格锁定时,没办法实现粘贴跳过内容,您提的这个需求可能需要换一下思路,

比如不给单元格设置锁定,而是采用Tag标注等方式,在粘贴事件里进行判断,

设置Tag请参考葡萄城官网示例:
https://demo.grapecity.com.cn/Sp ... e/#/demos/tagAction

关于事件的使用,官网示例地址:
https://demo.grapecity.com.cn/Sp ... /demos/spreadEvents
所有事件的API地址:
http://help.grapecity.com/spread ... .Sheets.Events.html
回复 使用道具 举报
littleknife
金牌服务用户   /  发表于:2018-11-20 18:56:01
板凳
KevinChen 发表于 2018-11-20 17:50
您好,SpreadJS有粘贴前后的响应事件,

但是如果粘贴时遇到被锁定的单元格,事件不会被触发,

但是采用标注的方式,单元格还是可以编辑的呀。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-21 09:22:03
地板
littleknife 发表于 2018-11-20 18:56
但是采用标注的方式,单元格还是可以编辑的呀。

对于想锁定的单元格,可以采用事件禁止单元格进入编辑状态,

比如利用 EditStarting 禁止进入编辑状态,ValueChanged 事件来恢复单元格的原值等。

只要粘贴区域包含锁定单元格,就无法触发事件,所以只能采用work around的方法来处理。
回复 使用道具 举报
littleknife
金牌服务用户   /  发表于:2018-11-21 09:30:28
5#
KevinChen 发表于 2018-11-21 09:22
对于想锁定的单元格,可以采用事件禁止单元格进入编辑状态,

比如利用 EditStarting 禁止进入编辑状态 ...

能否给个demo看下
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-21 09:50:53
6#
可以,请稍候,我这边写个Demo,完了给您传上来。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-21 11:16:09
7#
Demo已经做好,修改一下引用可以直接运行。见附件。

PastingOverLockedCells_littleknife.html

3.88 KB, 下载次数: 254

回复 使用道具 举报
littleknife
金牌服务用户   /  发表于:2018-11-21 13:57:43
8#
KevinChen 发表于 2018-11-21 11:16
Demo已经做好,修改一下引用可以直接运行。见附件。

锁定单元格和一般的单元格的区别 就是否可编辑这一点区别是吗?
我看代码就是在EditStarting事件中,取消操作
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-21 14:10:37
9#
不完全是,有区别,

我给您的Demo中只是提供了一个思路,

希望在您结合自己项目的业务逻辑实现此功能时提供一些帮助。
回复 使用道具 举报
littleknife
金牌服务用户   /  发表于:2018-11-21 14:14:54
10#
KevinChen 发表于 2018-11-21 14:10
不完全是,有区别,

我给您的Demo中只是提供了一个思路,

还有什么区别呢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部