本帖最后由 dexteryao 于 2016-12-13 10:41 编辑
粘贴时locked属性被覆盖了,确认是个bug,现在临时解决方案是粘贴时缓存下range中的 locked信息,粘贴后再设置回去。
- var _lockedStyleCatch=[]
- spread.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
- console.log(args);
- _lockedStyleCatch=[];
- var range = args.cellRange, sheet = args.sheet;
- for(var row = range.row; row <= range.rowCount; row++){
- for(var col = range.col; col <= range.colCount; col++){
- if(sheet.getCell(row, col).locked() === false){
- _lockedStyleCatch.push({row: row, col:col});
- }
- }
- }
- });
- spread.bind(GC.Spread.Sheets.Events.ClipboardPasted, function (sender, args) {
- console.log(args);
- if(_lockedStyleCatch.length > 0){
- var sheet = args.sheet;
- sheet.suspendPaint();
- for(var i = 0; i < _lockedStyleCatch.length; i++){
- var cell = _lockedStyleCatch[i];
- sheet.getCell(cell.row, cell.col).locked(false)
- }
- sheet.resumePaint();
- }
- });
复制代码
|