找回密码
 立即注册

QQ登录

只需一步,快速开始

Amelia

注册会员

5

主题

19

帖子

60

积分

注册会员

积分
60
Amelia
注册会员   /  发表于:2023-8-29 17:06  /   查看:1241  /  回复:11
6金币
本帖最后由 Richard.Huang 于 2023-8-31 09:56 编辑

我在单元格输入了一个=SUM的公式,选择了旁边两个单元格,获得了它们的和,

但是我同样手动输入更改其中一个单元格的值的时候,公式所在单元格的值未更新。

但是如果我用fromJson导入数据的话,公式会跟着变化没问题。

手动输入的时候,引用的单元格如果输入非数字的值,好像就会更新,也就是说好像需要一个错误的值激活它才生效。

我的代码不方便传,想请问一下可能有什么属性配置会影响手动输入表格内容时公式值的更新吗?

最佳答案

查看完整内容

至于您说的填数字结果通过console调用getValue发现是字符串,怀疑是您在填值之前进行了设置格式的操作,先填值再设置格式和先设置格式再设置值两者顺序不同,最终存储的值为数字还是字符串也会不同,您可以参考这篇帖子中的回答,希望可以帮助到您: https://gcdn.grapecity.com.cn/forum.php?mod=redirect&goto=findpost&ptid=185095&pid=697876&fromuid=83928

11 个回复

倒序浏览
最佳答案
最佳答案
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-8-29 17:06:17
来自 6#
Amelia 发表于 2023-8-30 15:15
我发现是因为我输入数字的时候在单元格里还是字符串也就是文字格式,试了setFormatter没效果,还是如图,请 ...

至于您说的填数字结果通过console调用getValue发现是字符串,怀疑是您在填值之前进行了设置格式的操作,先填值再设置格式和先设置格式再设置值两者顺序不同,最终存储的值为数字还是字符串也会不同,您可以参考这篇帖子中的回答,希望可以帮助到您:
https://gcdn.grapecity.com.cn/fo ... 6&fromuid=83928
回复 使用道具 举报
Amelia
注册会员   /  发表于:2023-8-29 17:12:18
2#
好像是因为我输入数字它会先默认是文字,这个格式问题的话可以如何解决呢
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-8-29 17:37:26
3#
您好,我按照您的表述先设置公式再更改内容,但是并没有能够复现您所说的问题
公式更新.gif934288024.png

请问能否提供更加详细的信息供我们复现
回复 使用道具 举报
Amelia
注册会员   /  发表于:2023-8-30 15:15:56
4#
本帖最后由 Richard.Huang 于 2023-8-31 09:57 编辑

我发现是因为我输入数字的时候在单元格里还是字符串也就是文字格式,试了setFormatter没效果,还是如图,请问这个有什么办法吗,是需要在初始化的时候配置什么东西或者调什么方法吗,不是format的问题的话 会不会是celltype的问题?
98D44FA0-968E-4031-A1AB-C8914D531E00.png
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-8-30 17:32:06
5#
即使您是字符串的数字,也不影响公式的计算呢,对于您遇到的问题这边也不清楚呢,因为我这边无法重现出您的问题,需要您提供一个可以复现的Demo,或者您在我给您提供的demo中复现您的问题然后告诉我操作步骤能够让我们复现出您提及的问题也可以,我们这边后续就可以帮您调查。

15.2.2版本的Designer.rar

954 Bytes, 下载次数: 41

回复 使用道具 举报
Amelia
注册会员   /  发表于:2023-8-31 12:03:45
7#
Richard.Huang 发表于 2023-8-31 10:02
至于您说的填数字结果通过console调用getValue发现是字符串,怀疑是您在填值之前进行了设置格式的操作, ...

进一步发现,可能问题来自于ValueChanged事件
回复 使用道具 举报
Amelia
注册会员   /  发表于:2023-8-31 12:05:40
8#
Richard.Huang 发表于 2023-8-31 10:02
至于您说的填数字结果通过console调用getValue发现是字符串,怀疑是您在填值之前进行了设置格式的操作, ...

我屏蔽了这个事件之后就正常了,但是只要初始化绑定了这个事件,不对值做处理也会把手动输入的数字默认更改,
回复 使用道具 举报
Amelia
注册会员   /  发表于:2023-8-31 12:07:41
9#
Richard.Huang 发表于 2023-8-31 10:02
至于您说的填数字结果通过console调用getValue发现是字符串,怀疑是您在填值之前进行了设置格式的操作, ...

输入1,会发现事件被触发了两次,一次newValue为1,oldValue为null,一次newValue为"1",oldValue为1。想请问一下这个有没有办法处理,因为还需要保留这个事件做别的逻辑处理。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-8-31 12:36:16
10#
Amelia 发表于 2023-8-31 12:07
输入1,会发现事件被触发了两次,一次newValue为1,oldValue为null,一次newValue为"1",oldValue为1。想 ...

您好,我在v15.2.2版本中绑定了ValueChanged事件,但是并没有触发两次,并且也没有复现您所说的数字1被改成字符串"1"的问题,请问能否提供一个可供我们复现的Demo,以便我们更好地为您解决问题,或者告诉我我应该怎么做可以复现您的问题:

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