找回密码
 立即注册

QQ登录

只需一步,快速开始

dev_wjx
初级会员   /  发表于:2024-4-23 18:16:16
3#
刘老太 发表于 2024-4-23 18:07
为什么不选择在切换完成后再挂起而是用timeout呢

这个加不加都一样的结果只是为了试错找出问题
回复 使用道具 举报
刘老太
注册会员   /  发表于:2024-4-23 18:07:31
2#
为什么不选择在切换完成后再挂起而是用timeout呢
  1. spread.bind(GC.Spread.Sheets.Events.ActiveSheetChanged, function (e, args) {
  2.     spread.getSheetFromName(args.newSheet.name()+"").suspendCalcService();
  3. });
复制代码
回复 使用道具 举报
最佳答案
最佳答案
刘老太
注册会员   /  发表于:2024-4-23 18:01:01
来自 10#
dev_wjx 发表于 2024-4-24 12:03
还是不行,你是用的V15吗我用的15.2.2版本

试了一下V15确实有问题, 可以通过resume两次解决
  1. spread.options.calcOnDemand = true;
  2. window.suspendMap = {};
  3. spread.bind(GC.Spread.Sheets.Events.ActiveSheetChanged, function (e, args) {
  4.     let sheet = spread.getSheetFromName(args.newSheet.name()+"");
  5.     if (!suspendMap[sheet.name()]) {
  6.         sheet.suspendCalcService();
  7.         suspendMap[sheet.name()] = true;
  8.               console.log(1)
  9.     }
  10. });
  11. spread.bind(GC.Spread.Sheets.Events.CellChanged, function (e, info) {
  12.     let sheet = spread.getActiveSheet();
  13.     sheet.resumeCalcService();
  14.     sheet.resumeCalcService(true);
  15.     suspendMap[sheet.name()] = false;
  16.       console.log(2)
  17. });
复制代码

评分

参与人数 1金币 +666 收起 理由
Joestar.Xu + 666 赞一个!

查看全部评分

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