找回密码
 立即注册

QQ登录

只需一步,快速开始

sanyue
中级会员   /  发表于:2022-8-31 14:06  /   查看:6030  /  回复:29
1金币
  1. spread.suspendPaint()
  2.       const sheetCount = spread.getSheetCount()
  3.   for (let i = 0; i < sheetCount; i++) {
  4.   let sheet = spread.getSheet(i)
  5.   let source1 = new GC.Spread.Sheets.Bindings.CellBindingSource({})
  6.   sheet.setDataSource(source1)
  7.       }
  8.       let sourceArr = []
  9.       let ssjsonSource = JSON.parse(pako.ungzip(data.ssJsonData, { to: 'string' }))
  10.   for (let i in ssjsonSource) {
  11.     let currentSheet = spread.getSheetFromName(i)
  12.     let source = new GC.Spread.Sheets.Bindings.CellBindingSource(ssjsonSource[i])
  13.     for (let j in ssjsonSource[i]) {
  14.       sourceArr.push(j)
  15.       let point = GC.Spread.Sheets.CalcEngine.formulaToRanges(currentSheet, j)
  16.       currentSheet.setBindingPath(point.row, point.col, j)
  17.     }
  18.   currentSheet.setDataSource(source)
  19.         }
  20.       spread.resumePaint()
复制代码
同样的代码div id的designer设计器比gc-spread-sheets加载数据慢,是为什么?代码如上

29 个回复

正序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-14 18:04:43
31#
sanyue 发表于 2022-9-14 17:19
gc-spread-sheets-designer组件designer可以放到return里,在本组件的其他方法里可以通过designer.getWor ...

gc-spread-sheets组件  使用this.spread
回复 使用道具 举报
sanyue
中级会员   /  发表于:2022-9-14 17:19:40
30#
Ellia.Duan 发表于 2022-9-13 14:18
将您的代码改为下图中所示,可以解决此问题

gc-spread-sheets-designer组件designer可以放到return里,在本组件的其他方法里可以通过designer.getWorkbook()去获取spread对象,那gc-spread-sheets组件spread对象不放在return里,本组件的其他方法里怎么获取spread对象呢
回复 使用道具 举报
sanyue
中级会员   /  发表于:2022-9-14 17:06:34
29#
Ellia.Duan 发表于 2022-9-14 16:29
请问上一楼的回复 有解决您的问题吗?

没有,就是想在执行getssjsondata的时候,倒计时不会停,算是给用户一个反馈,免得用户以为系统崩掉了,因为getssjsondata这个方法执行完有时候会很长
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-14 16:29:47
28#
sanyue 发表于 2022-9-14 15:15
就是tojson和获取数据源的时候需要时间,有时候数据量大的话就会慢

请问上一楼的回复 有解决您的问题吗?
回复 使用道具 举报
sanyue
中级会员   /  发表于:2022-9-14 15:15:28
27#
Ellia.Duan 发表于 2022-9-14 15:06
请问 这里设置计时器的原因是什么?是需要获取toJSON的时间吗?

点击toJSON 按钮后,开始toJSON,.then( ...

就是tojson和获取数据源的时候需要时间,有时候数据量大的话就会慢
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-14 15:06:16
26#
请问 这里设置计时器的原因是什么?是需要获取toJSON的时间吗?

点击toJSON 按钮后,开始toJSON,.then()方法后开始倒计时,不知道这个是否满足您的需要
image.png883833312.png
另外,由于此问题与本贴的标题无关,建议重新开贴,描述新的问题。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-14 14:37:44
25#
sanyue 发表于 2022-9-14 14:34
就是获取ssjson和绑定数据源的时候,倒计时会停掉,等获取到以后才会继续倒计时

好的,这边尽快处理。
回复 使用道具 举报
sanyue
中级会员   /  发表于:2022-9-14 14:34:52
24#
就是获取ssjson和绑定数据源的时候,倒计时会停掉,等获取到以后才会继续倒计时
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-14 14:29:35
23#
sanyue 发表于 2022-9-14 10:13
还有这个问题,demo里也有

这块看着您的代码较乱,是否可以描述下您的需求。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-14 14:29:07
22#
sanyue 发表于 2022-9-14 09:57
多谢,这样换一下就好了

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