找回密码
 立即注册

QQ登录

只需一步,快速开始

z3393898

初级会员

14

主题

38

帖子

446

积分

初级会员

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

13 个回复

正序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-23 19:07:19
14#
您好,还是没有重现,再传一下我修改后的demo,您参考一下, 实在不行,您这边制作一个简单重现问题的demo给我,我帮您看一下

model_v9.html

1.7 KB, 下载次数: 42

回复 使用道具 举报
z3393898
初级会员   /  发表于:2018-2-23 16:33:36
13#
ClarkPan 发表于 2018-2-23 15:41
您好,没能重现您的问题,附件是我用用来测试的demo,您可以进行参考。

blob652859496.png
我得到的结果是这样的。你的代码是先给单元格set了值,然后修改。我的是打开时候通过
var data = new setBzsjs(bzsjsl, bzsjsr);
    dataSource = new spreadNS.CellBindingSource(data);

    sheet.setDataSource(dataSource);

填充的数据源,然后修改,就获取不到oldValue.
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-23 15:41:08
12#
您好,没能重现您的问题,附件是我用用来测试的demo,您可以进行参考。

model_v9.html

1.51 KB, 下载次数: 43

回复 使用道具 举报
z3393898
初级会员   /  发表于:2018-2-23 14:02:03
11#
dexteryao 发表于 2018-2-23 08:54
afterEdit 没有这个事件,你具体用的哪个?

sheet.bind(GcSpread.Sheets.Events.EditEnded, function (sender, args) {
              
            });
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-23 08:54:33
10#
afterEdit 没有这个事件,你具体用的哪个?
回复 使用道具 举报
z3393898
初级会员   /  发表于:2018-2-22 15:54:05
9#
ClarkPan 发表于 2018-2-11 16:08
这个没办法获得,添加行不会被记入脏数据中。只能自己去实现了。

刚打开的表,单元格值为22,这时候修改为44,在afterEdit事件绑定的方法里,通过getDirtyCells可以获取到一个object,但是oldValue为null,这里为什么不是22
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-11 16:08:08
8#
这个没办法获得,添加行不会被记入脏数据中。只能自己去实现了。
回复 使用道具 举报
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 09:52:49
6#
插入的行空行啊,oldvalue就是null。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部