找回密码
 立即注册

QQ登录

只需一步,快速开始

IT-Weaver

初级会员

20

主题

76

帖子

238

积分

初级会员

积分
238
IT-Weaver
初级会员   /  发表于:2021-12-15 15:35  /   查看:3675  /  回复:11
本帖最后由 Clark.Pan 于 2022-3-30 14:13 编辑

原来V9版本,我们直接操作sheet下的deletedRows 属性,进行一些业务处理,请问现在V12版本中,我们如何找到这个记录删除记录的数组???

11 个回复

正序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-12-17 18:07:31
12#
好的,您的需求我会帮您反馈给产品组
回复 使用道具 举报
IT-Weaver
初级会员   /  发表于:2021-12-17 18:01:38
11#
Clark.Pan 发表于 2021-12-15 15:35
那你考虑一下自己维护一个相关的列表,每次利用我们的API查询到脏数据的信息然后维护到咱们自己的列表中。 ...

建议在deleteRows方法加个参数,表明本次删除是否需要记录删除记录。或者给sheet再提供一个方法,除了可以clearPendingChanges清除删除记录,另外还可以sheet.insertDeletedRows( [ ] )。现在的设计只考虑到了用户在整体重置当前sheet页面的业务时的需求,没有考虑到用户需要重置部分sheet页面的业务时的需求。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-12-15 15:35:08
10#
那你考虑一下自己维护一个相关的列表,每次利用我们的API查询到脏数据的信息然后维护到咱们自己的列表中。这样您可以自行控制列表中的内容
回复 使用道具 举报
IT-Weaver
初级会员   /  发表于:2021-12-17 14:33:11
9#
Clark.Pan 发表于 2021-12-17 14:25
getDeletedRows中所有删除行的记录都会记录到getDeletedRows中
getDirtyRows代表脏数据,出了新增和删除 ...

所以我们现在核心的问题就集中在了如何部分删除getDeletedRows结果集的数据。而不是通过clearPendingChanges彻底清除它。
回复 使用道具 举报
IT-Weaver
初级会员   /  发表于:2021-12-17 14:31:40
8#
Clark.Pan 发表于 2021-12-17 14:25
getDeletedRows中所有删除行的记录都会记录到getDeletedRows中
getDirtyRows代表脏数据,出了新增和删除 ...

我们的需求是清除getDeletedRows的部分记录,而不是全部记录,这个就有点麻烦了现在。  脏数据的概念已经测试出来了,应该是类似保存步骤数据,可以做到步骤回滚,类似Ctrl+z
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-12-17 14:25:55
7#
IT-Weaver 发表于 2021-12-17 14:15
请问v12中,getDeletedRows和getDirtyRows,分别存放的是什么数据?经过测试,现在getDeletedRows的结果 ...

getDeletedRows中所有删除行的记录都会记录到getDeletedRows中
getDirtyRows代表脏数据,出了新增和删除之外,其余对表单上有修改记录可以通过getDirtyRows获取到。
getDeletedRows只是一个记录脏数据的容器,容器本身不允许用户自己去修改,所以不提供pop或push之类的方法。只有一个clearPendingChanges方法用于清空当前容器中的记录
回复 使用道具 举报
IT-Weaver
初级会员   /  发表于:2021-12-17 14:21:18
6#
Clark.Pan 发表于 2021-12-15 17:34
删除某行记录时,如果它是新增行操作 -> getInsertRows
https://demo.grapecity.com.cn/spreadjs/help/ap ...

另外,现在我们是否可以直接操作getDeletedRows方法所操作的变量? 如果可以操作是否有类似pop或者push的方法?
回复 使用道具 举报
IT-Weaver
初级会员   /  发表于:2021-12-17 14:15:36
5#
Clark.Pan 发表于 2021-12-15 17:34
删除某行记录时,如果它是新增行操作 -> getInsertRows
https://demo.grapecity.com.cn/spreadjs/help/ap ...

请问v12中,getDeletedRows和getDirtyRows,分别存放的是什么数据?经过测试,现在getDeletedRows的结果集是我真实执行了deleteRows函数后的结果集,但是getDirtyRows一直为空数组。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-12-15 17:34:49
地板
删除某行记录时,如果它是新增行操作 -> getInsertRows
https://demo.grapecity.com.cn/sp ... .html#getInsertRows
删除缓存区 -> sheet.clearPendingChanges
https://demo.grapecity.com.cn/sp ... clearPendingChanges
它是修改行操作 -> getDirtyCells
https://demo.grapecity.com.cn/sp ... .html#getDirtyCells

利用上述提到的API去判断即可。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部