找回密码
 立即注册

QQ登录

只需一步,快速开始

lilyzhaooo
注册会员   /  发表于:2023-9-7 14:38  /   查看:1666  /  回复:5
本帖最后由 Richard.Huang 于 2023-10-19 12:04 编辑

产品:SpreadJS
版本:V16

当我复制了一个sheet之后,我这端就自动切换至新sheet中,这个是符合预期的。
但是,当我复制了一个sheet并且自动切换到新sheet的时候,和我同在一个文档里的其他人,也自动被带着切换到了新sheet,这个就完全不符合预期了。我们现在是两端同时调用了葡萄城复制sheet的方法,这个方法内部就会自动切换sheet,或许我有什么办法限制这个行为吗?

5 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-7 17:32:10
沙发
根据您这边的描述,推测是因为在协同时直接执行了另一端的command,您可以在执行前判断一下复制sheet的command是来自本地还是其他端,如果是其他端的话,就只执行复制的操作,不执行切换sheet的操作即可。
回复 使用道具 举报
cdy
初级会员   /  发表于:2023-9-14 15:51:23
板凳
Joestar.Xu 发表于 2023-9-7 17:32
根据您这边的描述,推测是因为在协同时直接执行了另一端的command,您可以在执行前判断一下复制sheet的comm ...

我这边是用的这个command来实现复制sheet的
GC.Spread.Sheets.Commands.copySheet
我只要执行这个command就会自动切换到新的sheet上 导致我在其它端无法做处理 这个有办法仅复制 不跳转吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-14 17:31:29
地板
这个目前没有更好的方案,只能是不去直接执行command,而是监听到command后只去复制sheet,而不切换sheet。
回复 使用道具 举报
cdy
初级会员   /  发表于:2023-9-14 19:16:32
5#
Joestar.Xu 发表于 2023-9-14 17:31
这个目前没有更好的方案,只能是不去直接执行command,而是监听到command后只去复制sheet,而不切换sheet。

GC.Spread.Sheets.Commands.copySheet
这个就是复制sheet  切换sheet感觉是在这个方法内部的
请问是有两个独立的方法吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-15 10:04:51
6#
您好,之前理解错您的意思了,这边针对您的问题重新调研了一下,目前在copySheet这个命令中是无法将这两步独立开的,只能是在接收到copySheet命令后,再调用setActiveSheet类似的接口,来重新设置当前的sheet。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部