Posted 12 October 2022, 6:23 pm EST
- Updated 12 October 2022, 6:24 pm EST
Hi avinash.pathak,
I has implemented this solution and it’s working well.
var sheet = spread.getActiveSheet();
var command = {
canUndo: true,
execute: function(spread, options, isUndo) {
var Commands = GC.Spread.Sheets.Commands;
if (isUndo) {
Commands.undoTransaction(spread, options);
return true;
} else {
Commands.startTransaction(spread, options);
spread.suspendPaint();
var selections = options.selections || spread.getActiveSheet().getSelections();
var value = options.backColor;
selections.forEach(function(sel) {
sheet.getRange(sel.row, sel.col, sel.rowCount, sel.colCount).backColor("red");
});
spread.resumePaint();
Commands.endTransaction(spread, options);
return true;
}
}
};
var selections = sheet.getSelections();
var commandManager = spread.commandManager();
commandManager.register('changeBackColor', command);
commandManager.execute({
cmd: 'changeBackColor',
sheetName: spread.getSheet(0).name(),
selections: selections,
backColor: 'rgb(130, 188, 0)'
});
commandManager.setShortcutKey("",GC.Spread.Commands.Key.del);
commandManager.setShortcutKey('changeBackColor', GC.Spread.Commands.Key.del, false, false, false, false);
But i has another problem:
- Content of cell A1: “Hello SpreadJS”
- User double click cell A1.
- User select text “Hello”.
- User press “Delete” key.
In default SpreadJS, “Hello” is deleted. But after apply your solution, nothing happend.
How can i fix it ?