您好,设置了公式的单元格,当值发生改变时,没有事件能够捕获值的改变。
但是可以使用脏数据的方法来获取改变的值,示例代码如下:
- var spread = GC.Spread.Sheets.findControl("ss");
- spread.addSheet(1, new GC.Spread.Sheets.Worksheet("Sheet2"));
- var sheet = spread.getActiveSheet();
- var sheet2 = spread.getSheetFromName("Sheet2");
- sheet.setFormula(0,0,"=D1+E1");
- sheet2.setFormula(0,0,"=Sheet1!A1");
- sheet.clearPendingChanges();
- sheet2.clearPendingChanges();
- spread.bind(GC.Spread.Sheets.Events.ValueChanged, function (s, e) {
- var col = e.col;
- var row = e.row;
- var oldValue = e.oldValue;
- var newValue = e.newValue;
- setTimeout(function(){
- var sheet1Dirty = sheet.getDirtyCells();
- var sheet2Dirty = sheet2.getDirtyCells();
- console.log("当前改变的值:行" + row + " 列" + col + " 值改为:" + newValue);
- console.log(sheet.name() + " 脏数据单元格:");
- console.log(sheet1Dirty);
- console.log(sheet2.name() + " 脏数据单元格:");
- console.log(sheet2Dirty);
-
- sheet.clearPendingChanges();
- sheet2.clearPendingChanges();
- },100);
- });
复制代码
这段测试代码是在学习指南的示例上跑的:
https://demo.grapecity.com.cn/Sp ... itializeSpread.html |