背景:
客户希望对于特定列(如第一列),禁止通过del键、backspace键对单元格进行删除。
思路:
1、自定义command,在command内部判断选中的单元格的行列信息,来决定是否执行删除操作。
2、注册该命令,并绑定del、backspace快捷键。
主要代码如下:
- var command = {
- canUndo: false,
- execute: function (context, options, isUndo) {
- var Commands = GC.Spread.Sheets.Commands;
- if (isUndo) {
- Commands.undoTransaction(context, options);
- return true;
- } else {
- Commands.startTransaction(context, options);
- // 第一列禁止删除
- if (context.getActiveSheet().getActiveColumnIndex() != 0) {
- return false
- }
- Commands.endTransaction(context, options);
- alert("第一列禁止删除")
- return true;
- }
- }
- };
- spread.commandManager().register("ban1", command);
- spread.commandManager().register("ban2", command);
- spread.commandManager().setShortcutKey("ban1", GC.Spread.Commands.Key.del, false, false, false, false);
- spread.commandManager().setShortcutKey("ban2", GC.Spread.Commands.Key.backspace, false, false, false, false);
复制代码
|
|