本帖最后由 DerrickJiao 于 2020-11-30 12:11 编辑
有小伙伴在使用脏数据时,想获取删除行的所有数据,发现获取不到。其实,删除行并不符合脏数据的概念。通常,只有单元格值的变更才导致其成为脏数据。所以,利用脏数据的方法无法获取删除的行的数据。那么,有什么方法可以拿到删除行的所有数据吗?答案是有的,那就是利用RowChanging事件。这是RowChanging的API链接:
https://demo.grapecity.com.cn/sp ... l#event:RowChanging
从API我们可以获取变更的行索引,拿到这个行索引,我们就能做很多事了。拿到行索引,我们可以遍历该行的所有单元格,通过getValue去获取行内的所有数据,同时还能将有数值的单元格的列索引进行记录,存入数组。具体效果如下:
删除前:
删除后:
关键代码如下:
- sheet.bind(GC.Spread.Sheets.Events.RowChanging, function (e, info) {
- var a = [];
- var b = [];
- for(var i = 0; i < sheet.getColumnCount(); i ++){
- if(sheet.getValue(info.row, i) !== null){
- a.push(sheet.getValue(info.row, i));
- b.push(i)
- }
- }
- console.log(a);
- console.log(b);
- });
复制代码
|
|