找回密码
 立即注册

QQ登录

只需一步,快速开始

Derrick.Jiao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-11-30 12:09  /   查看:3378  /  回复:0
本帖最后由 DerrickJiao 于 2020-11-30 12:11 编辑

       有小伙伴在使用脏数据时,想获取删除行的所有数据,发现获取不到。其实,删除行并不符合脏数据的概念。通常,只有单元格值的变更才导致其成为脏数据。所以,利用脏数据的方法无法获取删除的行的数据。那么,有什么方法可以拿到删除行的所有数据吗?答案是有的,那就是利用RowChanging事件。这是RowChanging的API链接:
      
       https://demo.grapecity.com.cn/sp ... l#event:RowChanging


      从API我们可以获取变更的行索引,拿到这个行索引,我们就能做很多事了。拿到行索引,我们可以遍历该行的所有单元格,通过getValue去获取行内的所有数据,同时还能将有数值的单元格的列索引进行记录,存入数组。具体效果如下:


删除前:
image.png497869872.png

删除后:
image.png562826537.png

关键代码如下:
  1. sheet.bind(GC.Spread.Sheets.Events.RowChanging, function (e, info) {
  2.     var a = [];
  3.     var b = [];
  4.     for(var i = 0; i < sheet.getColumnCount(); i ++){
  5.         if(sheet.getValue(info.row, i) !== null){
  6.             a.push(sheet.getValue(info.row, i));
  7.             b.push(i)
  8.         }
  9.     }
  10.     console.log(a);
  11.     console.log(b);
  12. });
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部