找回密码
 立即注册

QQ登录

只需一步,快速开始

cdy

初级会员

22

主题

49

帖子

205

积分

初级会员

积分
205
cdy
初级会员   /  发表于:2023-10-12 13:40  /   查看:1388  /  回复:1
1金币
本帖最后由 Ellia.Duan 于 2023-10-13 11:57 编辑


产品:SpreadJS
版本:v16.0.6
现象如题目描述
协同客户端端在查看sheet4时  当前客户端在sheet1添加sheet ,会导致协同客户端平移至sheet3

详情见附件,请问是否有办法避免平移?

addsheet时前移问题.rar

847 Bytes, 下载次数: 144

最佳答案

查看完整内容

您好,本贴中提及的问题已重现,我按照您所说的进行了以下复现步骤: 1. 打开页面当前激活页面为sheet-3 2. 在索引1处插入了一个新的sheet页命名为sheet-4 3. 此时我们发现激活页面向前移动了,变成了sheet-2 经过以上步骤我成功复现了您的问题,您现在希望的是,即使插入了一个新的页面,当前激活的页面仍然是sheet-3是吗? 造成这个问题的原因是,当在索引1处新插入一个sheet页后,原本的索引为2处的sheet-3向后移动了一 ...

1 个回复

倒序浏览
最佳答案
最佳答案
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-12 13:40:53
来自 2#
本帖最后由 Ellia.Duan 于 2023-10-13 11:58 编辑

您好,本贴中提及的问题已重现,我按照您所说的进行了以下复现步骤:
1. 打开页面当前激活页面为sheet-3
2. 在索引1处插入了一个新的sheet页命名为sheet-4
3. 此时我们发现激活页面向前移动了,变成了sheet-2
经过以上步骤我成功复现了您的问题,您现在希望的是,即使插入了一个新的页面,当前激活的页面仍然是sheet-3是吗?

造成这个问题的原因是,当在索引1处新插入一个sheet页后,原本的索引为2处的sheet-3向后移动了一位,索引变成了3,此时索引为2的sheet页变成了sheet-2,因此出现了上述向前移动的问题
image.png158493956.png

为了解决该问题,您需要使用setActiveSheet方法重新激活sheet-3。该方法的API为:https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Workbook#setactivesheet
您可以将您setTimeout中的代码进行以下更改来解决您的问题:
  1. setTimeout(() => {
  2.   var curSheetName = spread.getActiveSheet().name();// 预先存储您当前sheet页的名称
  3.   spread.addSheet(1, new GC.Spread.Sheets.Worksheet("sheet-4"));
  4.   spread.setActiveSheet(curSheetName);// 重新激活之前的sheet页
  5. }, 5000);
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部