请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

helloworldplus

注册会员

25

主题

57

帖子

192

积分

注册会员

积分
192
helloworldplus
注册会员   /  发表于:2025-1-10 10:57  /   查看:99  /  回复:7
1金币
本帖最后由 Wilson.Zhang 于 2025-1-13 10:06 编辑


产品:SpreadJS
版本:17.1.10
调研编号:SJS-28018

spredjs在ColumnWidthChanged事件回调中调用getCellRect获取某个单元格的xy数据时,拿到的是上一次的数据而不是最新数据 是怎么回事

最佳答案

查看完整内容

您好!您尝试下在ColumnWidthChanged事件的处理函数中加上setTimeout,我测试发现稍微延时下可以获取到列宽修改后的实际坐标,代码如下所示:

7 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2025-1-10 10:57:38
来自 3#
本帖最后由 Wilson.Zhang 于 2025-1-13 09:50 编辑

您好!您尝试下在ColumnWidthChanged事件的处理函数中加上setTimeout,我测试发现稍微延时下可以获取到列宽修改后的实际坐标,代码如下所示:
  1. sheet.bind(GC.Spread.Sheets.Events.ColumnWidthChanged, function(e, args) {
  2.     setTimeout(function() {
  3.         console.log('cellRect: ', sheet.getCellRect(3, 3));
  4.     }, 1000);
  5. });
复制代码


回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-1-10 17:56:45
2#
您好!复现了现象,调研下先,之后会及时向您同步结论。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-1-13 10:06:32
4#
调研编号为SJS-28018,之后会及时向您同步结论,在那之前,您可以参考在3楼提供的方案使用。
回复 使用道具 举报
helloworldplus
注册会员   /  发表于:2025-1-13 13:51:06
5#
Wilson.Zhang 发表于 2025-1-13 10:06
调研编号为SJS-28018,之后会及时向您同步结论,在那之前,您可以参考在3楼提供的方案使用。

好滴,谢谢啦
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-1-13 17:39:22
6#

不客气,给您同步下调研结论:

经调研了解到现象是正常功能表现,Worksheet:getCellRect()用以获取单元格物理屏幕坐标,其值在sheet渲染后发生变化。因此,建议您参考3楼中的方式获取列宽调整后的单元格物理屏幕坐标。
回复 使用道具 举报
helloworldplus
注册会员   /  发表于:2025-1-14 11:23:21
7#
Wilson.Zhang 发表于 2025-1-13 17:39
不客气,给您同步下调研结论:

经调研了解到现象是正常功能表现,Worksheet:getCellRect()用以获取单 ...

好的,谢谢
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-1-14 17:19:51
8#

不客气!问题既已得到解决,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部