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

QQ登录

只需一步,快速开始

Hi7t_

注册会员

6

主题

23

帖子

73

积分

注册会员

积分
73
Hi7t_
注册会员   /  发表于:2016-4-13 19:38  /   查看:6438  /  回复:6
SpreadJS 有公式的单元格,自动计算后值改变,如何获取到此单元格值改变事件?
如A1 B1 C1 3个单元格.A1 B1 为输入单元格.C1是自动计算=SUM(A1,B1);
我当前sheet绑定的是CellChanged事件;
例:
A1 输入1  触发了CellChanged事件
B1 输入1 触发了CellChanged事件
C1=2 自动计算为2,但并未触发CellChanged事件.


我这边的需求就是:当前页面有输入单元格和自动计算公式的单元格,页面上部分单元格的值发生改变了,我如何通过绑定事件获取当前页面所有变化的单元格的值?输入单元格没有问题,关键是有公式自动计算的单元格如何获取?

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-4-14 09:37:01
沙发
您好,现在没有直接的事件可以接收到有公式单元格的变化。
不能仅仅获取到公式单元格的变化,但是现在有var dirtyCells = activeSheet.getDirtyCells(); 方法获取到所有被改变的单元格,包括输入单元格和公式单元格。
如果您想获得每次用户输入后的变化可以在cellchange里获取脏数据后将脏数据清空activeSheet.clearPendingChanges(); 下次再获取就是新的脏数据。

不知都上面接口能否满足您的需求。
请问您获取变化的单元格后需要什么后续处理?
回复 使用道具 举报
Hi7t_
注册会员   /  发表于:2016-4-14 11:11:30
板凳
dexteryao 发表于 2016-4-14 09:37
您好,现在没有直接的事件可以接收到有公式单元格的变化。
不能仅仅获取到公式单元格的变化,但是现在有va ...

我获取到变化的单元格,包括输入和公式单元格的值的数据后,要和数据库里面的进行比对并更新数据库。我目前就是想通过绑定事件获取到输入单元格和公式单元格改变后的值。
回复 使用道具 举报
Hi7t_
注册会员   /  发表于:2016-4-14 11:12:26
地板
dexteryao 发表于 2016-4-14 09:37
您好,现在没有直接的事件可以接收到有公式单元格的变化。
不能仅仅获取到公式单元格的变化,但是现在有va ...

我先试下您说得方案,如果有问题在咨询您! 谢谢了
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-4-14 11:19:29
5#
一般常见的业务逻辑下,通过公式计算的值是不保存数据库的,比如一个销售订单,我们数据库只需要保存销售单价和数量,spread展示的时候也只需要监听单价和数量,合计,总价什么的都是公式计算,不用关心是否变化了。
回复 使用道具 举报
Hi7t_
注册会员   /  发表于:2016-4-14 20:17:20
6#
dexteryao 发表于 2016-4-14 11:19
一般常见的业务逻辑下,通过公式计算的值是不保存数据库的,比如一个销售订单,我们数据库只需要保存销售单 ...

我们的业务逻辑比较复杂.
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-4-15 08:17:16
7#
那有问题继续发帖

点评

怎么结贴?  发表于 2016-4-18 14:08

评分

参与人数 1满意度 +5 收起 理由
Hi7t_ + 5

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部