找回密码
 立即注册

QQ登录

只需一步,快速开始

z3393898

初级会员

14

主题

38

帖子

446

积分

初级会员

积分
446
z3393898
初级会员   /  发表于:2018-2-7 17:38  /   查看:6831  /  回复:13
产品版本:spreadjsv9
浏览器版本: ie11
问题描述:单元格setValue后,getDirtyCells都获取到了。如何在set之后让他不出现在dirtyCells中。不能用clearPendingChanges,因为有些数据还是需要的。
关键代码:

13 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-8 09:39:14
沙发
您好,spreadjs默认无论setValue赋值还是界面录入都算脏数据。所以如果您的要求是录入算脏数据,setValue不算,需要您自己进行维护,比如,setValue的单元格标记tag,最后在整个脏数据中排除这些tag的单元格(这只是一个思路,有很多情况需要您这边自己来定义,比如用户在之前setValue的单元格又进行了录入怎么算,复制粘贴的情况是否要考虑等)。
回复 使用道具 举报
z3393898
初级会员   /  发表于:2018-2-9 09:31:55
板凳
嗯,现在getDirtyCells加上了行列范围,只获取了自己需要的数据了。不过又遇到一个问题,就是新插入的行改变了数,通过getDirtyCells无法获取到,我需要获取这些新增行中改变了哪些数,怎么解决
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-9 14:32:24
地板
插入行因为是整行新增,所以不存在脏数据的说法,可以通过getInsertRows来获取插入的行以及行中的信息。
回复 使用道具 举报
z3393898
初级会员   /  发表于:2018-2-11 08:58:13
5#
ClarkPan 发表于 2018-2-9 14:32
插入行因为是整行新增,所以不存在脏数据的说法,可以通过getInsertRows来获取插入的行以及行中的信息。

那插入的行 如果修改了某个单元格,如何获取它的oldValue呢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-11 09:52:49
6#
插入的行空行啊,oldvalue就是null。
回复 使用道具 举报
z3393898
初级会员   /  发表于:2018-2-11 11:07:30
7#
ClarkPan 发表于 2018-2-11 09:52
插入的行空行啊,oldvalue就是null。

如果插入一行你录入了3,后来又改成了5,我想 在 改成5之后 能知道 之前的oldValue是3,这个3我怎么获取
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-11 16:08:08
8#
这个没办法获得,添加行不会被记入脏数据中。只能自己去实现了。
回复 使用道具 举报
z3393898
初级会员   /  发表于:2018-2-22 15:54:05
9#
ClarkPan 发表于 2018-2-11 16:08
这个没办法获得,添加行不会被记入脏数据中。只能自己去实现了。

刚打开的表,单元格值为22,这时候修改为44,在afterEdit事件绑定的方法里,通过getDirtyCells可以获取到一个object,但是oldValue为null,这里为什么不是22
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-23 08:54:33
10#
afterEdit 没有这个事件,你具体用的哪个?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部