找回密码
 立即注册

QQ登录

只需一步,快速开始

啥也不会

注册会员

8

主题

27

帖子

65

积分

注册会员

积分
65
啥也不会
注册会员   /  发表于:2022-11-4 16:20  /   查看:3104  /  回复:7
需求Spread表格,
第一列的Cell的值发生变化 和 第二列的Cell的值发生变化的时候,给第三列的Cell赋值,值=第一列Cell的值*第二列Cell的值。使用JS代码来实现


画面初期话,后台设定第三列的Cell是获取光标不可CanFocus是False。

我使用spread.SetValue(0(行数),3(列数),第一列Cell的值*第二列Cell的值,true)的时候报错。

Cannot read properties of undefined (reading 'IsValid')

请问大神怎么解决?

使用版本 Spreadaspnet10.0.4012.2013






7 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-4 17:04:37
沙发
从你描述的需求来看是不是可以设置一个公式来解决这样也不用你再去写代码了

具体你遇到的错误这个只看错误信息没法判断,我不知道报错信息中的“IsValid”是哪里来的,是不是你有做其他的设置,如果是给一个空sheet直接setValue应该是不会报错的
回复 使用道具 举报
啥也不会
注册会员   /  发表于:2022-11-4 17:16:44
板凳
Richard.Ma 发表于 2022-11-4 17:04
从你描述的需求来看是不是可以设置一个公式来解决这样也不用你再去写代码了

具体你遇到的错误这个只看错 ...

如果我在后台把Canfocus的设定去掉的话,就一切正常了。因为是升级项目,原有的代码逻辑不让改动。
同样的代码,我在Spreadaspnet7的版本中使用,就正常。但是10的版本就报错,怀疑是不是版本升级对SetValue这个方法使用有限制,是不是对CanFocus等于false的Cell不能使用SetValue这个方法哪?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-4 18:02:40
地板
不确定是不是10版本的问题,在当前的新版本测试了一下没有问题。在给列设置了CanFocus后,也是可以正常SetValue 的
回复 使用道具 举报
啥也不会
注册会员   /  发表于:2022-11-7 10:36:35
5#
Richard.Ma 发表于 2022-11-4 18:02
不确定是不是10版本的问题,在当前的新版本测试了一下没有问题。在给列设置了CanFocus后,也是可以正常SetV ...

大神,能不能给一个demo学习一下呀。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-7 12:06:07
6#
可以参考这个,本身我就是按照你的描述写了代码,并没有什么多余的东西,所以主要还是考虑可能是老版本V10的问题,只是后面新版本修复了

WebFormsDemo.zip (828.59 KB, 下载次数: 556)
回复 使用道具 举报
啥也不会
注册会员   /  发表于:2022-11-15 10:44:56
7#
最终还是使用公式解决。谢谢大神
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-15 14:21:10
8#
问题解决就好,不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部