找回密码
 立即注册

QQ登录

只需一步,快速开始

choys
金牌服务用户   /  发表于:2019-5-8 22:48  /   查看:3490  /  回复:3
两个问题:

1、我用setArray()设置数据后,删除了一行,此时调用getDeletedRows()返回的行编号是正确的,然后用ctrl+z撤销删除,再次调用getDeletedRows()还是返回之前删除的行号,删除、撤销删除反复几次,调用getDeletedRows()返回的数据是累加的。

但是getDirtyRows()就没有这个问题。


2、 setArray()设置数据后,然后再删除一行数据,能通过接口获取到删除的具体数据吗?

3 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-9 12:31:22
沙发
您好,

1、getDeletedRows() 的确不能在撤销时清除内容,它实际上是一个用户操作记录的缓存,可以用sheet.clearPendingChanges() 清空所有脏数据,包括其中的删除行。

2、对于未绑定数据源的数据,无法用getDeletedRows获取到删除的具体数据。

您想实现具体什么功能呢?请描述一下具体的应用场景,也许有更好的解决办法
回复 使用道具 举报
choys
金牌服务用户   /  发表于:2019-5-13 10:45:34
板凳
好的,谢谢。 用户初次上报数据后,可能会再次修改数据,我想修改完数据后再向服务端提交数据,然后批量更新数据,所以就想获取哪些数据修改了,哪些数据删除了,哪些数据是新增的?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-14 09:49:14
地板
明白了,您是想做增量提交的功能。除了这个思路,

能否先克隆一个dataSource的json,

然后对比两个dataSource的新增和删除元素。

修改内容依然用getDirtyCells获取。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部