找回密码
 立即注册

QQ登录

只需一步,快速开始

Dtttax
银牌会员   /  发表于:2024-7-12 15:01:22
11#
撤回那个是假如原来的单元格有个属性叫isupdate=true, 然后editcell后给那个tag加个属性 roleName="staff",这个时候撤回就不能撤回tag.就相当于一开始单元格tag.isupdate=true, 后面变成了 tag.isupdate=true tag.roleName="staff" 这个时候撤回tag撤回不了。附件demo里面能看出来。

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-15 17:51:13
12#
收到,这边调研一下哈,后续有进展回复您。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-16 21:54:11
13#
知道原因了,tag是个对象,是引用类型。所以对于spread事务没有监听到变化,所以没有走undo。
有两个方案解决这个问题:
1. 重新给tag一个新的对象然后设置,这样能监听到变化就可以undo了
2. 可以把变化记录在option里,在undo逻辑做操作, demo里我更新了这种方案
回复 使用道具 举报
Dtttax
银牌会员   /  发表于:2024-7-24 16:07:15
14#
本帖最后由 Dtttax 于 2024-7-24 16:36 编辑

1、用的tag设置新对象,这个是可以了。
2、有小问题,就是获取跟当前单元格关联的所有单元格。在GSSEvents.EditEnding 事件里面 用 sheet.getDependents(row,col) 获取不全关联表格的所有单元格。以前不加EditEnding 直接在EditEnded里面就可以获取。
3、获取的关联单元格就是比如下面的图Sheet,Sheet2,Sheet3:在Sheet1的C3单元格输入值,要把Sheet1,Sheet2,Sheet3关联的单元格找到。原来是在EditEnded 方法调用sheet.getDependents(row,col) 获取。现在这样应该怎么获取

image.png576814879.png


image.png436387633.png



image.png784374084.png






image.png691168822.png
image.png371310118.png
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-26 12:21:42
15#
如果getDependents和撤销那部分逻辑没关系,加一个setTimeout,等编辑完成后,再走getDependents的逻辑
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-8-29 13:54:21
16#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部