找回密码
 立即注册

QQ登录

只需一步,快速开始

普罗米修斯

注册会员

15

主题

33

帖子

134

积分

注册会员

积分
134
普罗米修斯
注册会员   /  发表于:2021-7-20 16:38  /   查看:1663  /  回复:4
用户会修改表格数据,想用一个数组将每一次修改的新值,旧值等放入变量,点击保存之后再将变量进行数据存储,但是好像数据在bind方法里面有效,拿出来就没有了,还是说有其他方法可以实现



methods: {
            workbookInitialized(spread){
                this.spread = spread;
                var sheet = this.spread.getActiveSheet();
                sheet.bind(GC.Spread.Sheets.Events.CellChanged, function (e, info) {
                    if(info.sheetArea === GC.Spread.Sheets.SheetArea.viewport){
                        alert("Cell index (" + info.row + "," + info.col + ")");
                    }                 
                    this.$set(this.update,'col',info.col)


                });
            },






4 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-20 16:55:54
沙发
您好,
对单元格值进行修改,可以通过 valueChanged 事件进行监听,并可以获取到 newValue、oldValue。
如果不想通过绑定事件的方式获取,可以了解下脏数据,看是否满足您的需求。

脏数据的概念如下:
image.png45348509.png

具体内容您可以参考学习指南:https://demo.grapecity.com.cn/sp ... s/edit/dirty-items#
回复 使用道具 举报
普罗米修斯
注册会员   /  发表于:2021-7-27 18:11:44
板凳
本帖最后由 普罗米修斯 于 2021-7-27 18:14 编辑

回复 使用道具 举报
普罗米修斯
注册会员   /  发表于:2021-7-27 18:13:25
地板
Lynn.Dou 发表于 2021-7-20 16:55
您好,
对单元格值进行修改,可以通过 valueChanged 事件进行监听,并可以获取到 newValue、oldValue。
...

好的,我想问的是,在javascript里面用ValueChanged或者RangeChanged事件的时候可以把更改的数据用变量缓存起来,在vue初始化表单方法中bind事件时,改变的数据是不是 不可以用变量缓存,因为我试了下,将改变值存在变量中,变量出bind方法就undefine了,还有就是,脏数据也可以实现这些功能的话,那这两者有什么区别吗,脏数据可以监听复制粘贴剪切时的值发生的改变吗,或者公式运行时值的改变是不是也能监听
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-27 18:26:26
5#
SpreadJS的生命周期与SpreadJS不同,所以在vue中使用时,也应该使用spread.bind
或者 sheet.bind 来获取newValue、oldValue,并用变量存储。
脏数据的产生是有条件的,并不是通过事件监听来获取到的,您具体看下脏数据的概念就可以理解了。
学习指南链接:https://demo.grapecity.com.cn/sp ... s/edit/dirty-items#


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部