找回密码
 立即注册

QQ登录

只需一步,快速开始

alenboy

注册会员

7

主题

23

帖子

98

积分

注册会员

积分
98
alenboy
注册会员   /  发表于:2020-10-4 19:21  /   查看:3332  /  回复:4
1金币
spreadjs版本v12

鼠标右键菜单删除一行时,在 spread.bind(GC.Spread.Sheets.Events.RowChanged, function (e, info) 事件中,弹出确认对话框(执行到这个事件时,这一行已经被删除),点击取消,然后执行 spread.commandManager().execute({cmd:"Undo",sheetName:sheet.name()}); 恢复这一行,但却无法恢复了,为什么呢?

spread.bind(GC.Spread.Sheets.Events.RowChanged, function (e, info) {

            $.confirm({
                title: '删除记录!',
                content: '请确认是否要删除记录?',
                buttons: {
                    删除: function () {
                        //text: '删除操作。。。',

                    },
                    取消: function () {
                        //text: '取消',
                       // $.alert('Canceled!');

        
                         spread.commandManager().execute({cmd:"Undo",sheetName:sheet.name()});

        
                    }
                }
            });


});

最佳答案

查看完整内容

没有直接的方法可以获取,需要监听相关事件: 监听ValueChanged 、RangeChanged、RowChanged, 例如,我们删除了一行,之后执行undo 监听 RowChanged 事件,其中有一个isundo 的参数可以判断这个改变是否来自撤销操作。 https://demo.grapecity.com.cn/spreadjs/help/api/GC.Spread.Sheets.Worksheet.html#event:RowChanged

4 个回复

正序浏览
alenboy
注册会员   /  发表于:2020-10-5 22:52:52
4#
AlexZ 发表于 2020-10-5 14:31
好的,如有后续问题,请及时发帖

还是关于undo的新问题,
就是,当我们执行undo时,如何取得undo的数据?

例如,我们删除了一行,之后执行undo,如何取得那一行的数据?或者取得行号?
回复 使用道具 举报
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-5 14:31:38
3#
好的,如有后续问题,请及时发帖
回复 使用道具 举报
alenboy
注册会员   /  发表于:2020-10-4 19:45:31
2#
已用其他方法解决了!
回复 使用道具 举报
最佳答案
最佳答案
Fiooona
论坛元老   /  发表于:2020-10-4 19:21:56
来自 5#
没有直接的方法可以获取,需要监听相关事件:
监听ValueChanged 、RangeChanged、RowChanged,

例如,我们删除了一行,之后执行undo
监听 RowChanged 事件,其中有一个isundo 的参数可以判断这个改变是否来自撤销操作。
https://demo.grapecity.com.cn/sp ... ml#event:RowChanged
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部