hsReport 发表于 2021-12-10 14:38:01

spreadjs使用scale缩放问题(40701)

本帖最后由 Lynn.Dou 于 2021-12-16 12:18 编辑

在制作仪表盘时,使用了echarts图表与spreadjs表格,仪表盘进行整体scale缩放后,echarts图表对于鼠标位置识别正常,但是spreadjs出现偏差,因为缩放功能是针对画布进行缩放的,无法单独取消spreadjs的缩放,是否有办法可以解决鼠标偏移问题

Lynn.Dou 发表于 2021-12-10 16:08:29

您好,
SJS不支持scale缩放功能,有提供原生接口 zoom 方法,可以实现缩放效果。
API如下:
https://demo.grapecity.com.cn/spreadjs/help/api/GC.Spread.Sheets.Worksheet.html#zoom

hsReport 发表于 2021-12-10 16:15:55

Lynn.Dou 发表于 2021-12-10 16:08
您好,
SJS不支持scale缩放功能,有提供原生接口 zoom 方法,可以实现缩放效果。
API如下:


单独这么缩放是可以呢,主要是画布带着所有组件整体一起缩放的:'(

hsReport 发表于 2021-12-10 16:16:26

hsReport 发表于 2021-12-10 16:15
单独这么缩放是可以呢,主要是画布带着所有组件整体一起缩放的

echarts内部应该是做了特殊处理,支持scale

Lynn.Dou 发表于 2021-12-10 17:13:59

正常来说,SJS单独使用的是一个div容器,
如果echarts与SJS不是使用的一个div,
那么echarts进行scale缩放时,同时改变SJS的zoom系数,即可实现同步缩放效果。
二者不是一个div,相互之间不会有影响。

在您当前的项目中,您是在SJS内部使用的echart吗?
建议您结合业务情况详细的描述下您的需求,这边调研下是否有更好的方案。

hsReport 发表于 2021-12-13 09:35:06

Lynn.Dou 发表于 2021-12-10 17:13
正常来说,SJS单独使用的是一个div容器,
如果echarts与SJS不是使用的一个div,
那么echarts进行scale缩 ...

不是,是一个大的容器里,既有echarts也有spreadjs

Lynn.Dou 发表于 2021-12-13 13:32:32

如前面回答所说,建议您调用SJS的缩放接口,实现二者同步缩放效果。

hsReport 发表于 2021-12-13 13:34:46

Lynn.Dou 发表于 2021-12-13 13:32
如前面回答所说,建议您调用SJS的缩放接口,实现二者同步缩放效果。

我缩放的是外面的容器呢

Lynn.Dou 发表于 2021-12-13 14:01:36

可能是我没能表达清楚,这边再详细描述下:
从前面沟通了解到,
您是想实现echart 和 SJS 同步缩放效果,所以期待将二者外层的大容器设置scale来实现。
只是SJS不支持通过css scale 方式进行缩放,它本身有自己的缩放接口,即前面提到的zoom方法。
前面您提到:”不是,是一个大的容器里,既有echarts也有spreadjs“
这种情况下,
建议不要在外层容器设置 scale,而是在echarts所在的div设置,
在需要进行缩放时(这个行为需要您的业务情况决定),修改echarts所在的div scale,和调用 SJS的zoom方法,实现二者同步缩放效果。
这样描述您能理解吗?
如果仍不能,建议电话沟通下,您留下自己的联系方式或者拨打我这边的分机号。

hsReport 发表于 2021-12-16 10:34:03

Lynn.Dou 发表于 2021-12-13 14:01
可能是我没能表达清楚,这边再详细描述下:
从前面沟通了解到,
您是想实现echart 和 SJS 同步缩放效果, ...

好的,明白了:dizzy:建议你们可以考虑支持下,echarts之前也是不支持的,现在都已经支持了:lol可以参考echarts的地图,不论是通过缩放api还是css的scale缩放都可以,也可以同时进行这两种缩放~
页: [1] 2
查看完整版本: spreadjs使用scale缩放问题(40701)