找回密码
 立即注册

QQ登录

只需一步,快速开始

水天一色

注册会员

8

主题

24

帖子

146

积分

注册会员

积分
146

微信认证勋章

水天一色
注册会员   /  发表于:2020-3-27 15:03  /   查看:4186  /  回复:5
现在有一个需求,监听公式单元格值改变后,将改变后的值取到做进一步操作。我采用公式追踪方法,能够实现监听值改变,但监听操作是在公式计算更新结果前,也就是我取到的值还是旧值。请问,如何取到新值?如图,我改变A1的值,公式单元格A4的值在进入监听方法时还是旧值。
QQ图片20200327150253.png

5 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2020-3-27 17:16:41
沙发
sheet.getDependents(row,col) 中可以获取到公式所在的单元格位置,把这个位置用变量记住,再监听SelectionChanged事件,或者再某个时刻触发 sheet.getValue(),能获取公式计算后的值。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
水天一色
注册会员   /  发表于:2020-3-30 16:07:24
板凳
SelectionChanged无法监听公式导致的值更改。
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-3-30 17:32:10
地板

selectionChanged就是选中单元格改变,选中单元格改变时他影响到的公式单元格就完成了计算,那时再getValue取值就可以取到改变后的值。

13.0.7测试Demo.zip

2.1 MB, 下载次数: 75

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
水天一色
注册会员   /  发表于:2020-3-31 09:34:27
5#
单独用selectionChanged可以监听选中单元格改变,但我方法里同时有监听ValueChanged事件,导致selectionChanged监听有时不生效
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-3-31 16:48:30
6#
具体什么时候不生效可以在我发的Demo 上复现吗?
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部