dexteryao 发表于 2021-6-29 10:31:35

通过重写命令获取表格删除行信息


SpreadJS对于用在UI的操作都是通过Commands机制驱动的。
例如在Table上点击右键菜单,选择删除行,会调用tableDeleteRowsForContextMenu命令。
如果需要在点击执行前进行一些操作,可以通过重写命令execute方法的方式来实现。
操作做完后调用原有逻辑即可

下面代码演示了在删除数据之前,获取要删除内容。


let deletTableRows = GC.Spread.Sheets.Commands.tableDeleteRowsForContextMenu.execute;

GC.Spread.Sheets.Commands.tableDeleteRowsForContextMenu.execute = function(content, options, isUndo){

    console.log(options)
    if(isUndo){
      console.log("undoAction")
    }
    else{
      let sheet = content.getSheetFromName(options.sheetName);
      let changeRows = options.selections;
      console.log(sheet.getArray(changeRows.row, 0, changeRows.rowCount, sheet.getColumnCount()))
    }
    return deletTableRows.apply(this, arguments);
}


页: [1]
查看完整版本: 通过重写命令获取表格删除行信息