找回密码
 立即注册

QQ登录

只需一步,快速开始

鹅鹅鹅blue
金牌服务用户   /  发表于:2024-3-1 17:12:22
22#
将demo中的表单保护isProtected调整为true
image.png666726989.png
这样按照上个动图操作时,由于表单被保护,锁定的单元格不可编辑,不能更新pasteRange,因此就会发生粘贴错位的情况,复现出了项目里的现象,这种情况怎么解决
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-3-1 17:31:26
23#
您好,您可以尝试在ClipboardPasting事件中先解除表单保护,然后在ClipboardPasted事件的最后再将表单保护设置回去。
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-3-1 17:47:14
24#
好的  稍后我试试
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-3-1 17:57:18
25#
好的,后续有问题随时追问。
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-3-4 10:13:03
26#
发现先解除表单保护,最后再将表单保护设置回去这个方法,只有在开启着表单保护但未锁定的单元格粘贴时才会触发。而对于初始表单保护开启且锁定的单元格,在粘贴时都不会触发ClipboardPasting事件,因而先解除保护是无法实现的
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-3-4 10:16:41
27#
所以目前用了“在ClipboardPasting事件中先解除表单保护,然后在ClipboardPasted事件的最后再将表单保护设置回去”这个方法仍然会出现pasteRange无法更新,而导致粘贴位置出现错乱的问题
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-3-4 10:34:54
28#
咱们这边为什么一开始就要设置表单保护呢?是有什么业务上的需求吗?
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-3-4 10:59:47
29#
我们部门结合spreadjs封装做的组件,透出了相关配置项,比如isProtected, showSortBar, newTabVisible, rowHeaderVisible等等。允许业务部门使用组件时自行调整这些参数
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-3-4 11:14:02
30#
了解了,设置了表单保护后其实就意味着锁定的单元格不能以任何形式进行修改,所以没有触发ClipboardPasting事件,您的项目中可不可以在需要复制粘贴之前将表单保护关闭呢?
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-3-4 11:21:26
31#
我看影响粘贴错乱的是锁定单元格在执行粘贴操作时仍会触发nativePaste函数,导致触发setTextArray,因此才会发生粘贴行为且粘贴位置为上次的pasteRange。既然锁定单元格不能进行任何更改,为何还会触发paste.native image.png875283202.png
image.png195564574.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部