Derrick.Jiao 发表于 2021-12-28 13:52:47

通过自定义命令实现结束编辑活动单元格右移

相信有的朋友已经发现,SpreadJS按下回车结束编辑后,默认是跳到下一行、同一列的单元格中。而在Excel中,结束编辑后,活动单元格是默认在同一行向右移动一列。那么要想实现这个需求,我们可以通过自定义命令来实现。我们可以调用内部的命令去组成这个命令。
以下就是这个自定义的命令,在里面,我们调用了commandManager的execute方法去执行“moveToNextCell”来移动到右侧。
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);
                            commandManager.execute({
                              cmd: 'moveToNextCell',
                              sheetName: spread.getActiveSheet().name(),
      
                            });
                            Commands.endTransaction(spread, options);
                            return true;
                        }
                  }
                };最后注册这个命令以及快捷键就大功告成。
commandManager.register('move', command);
                spread.commandManager().setShortcutKey("move", GC.Spread.Commands.Key.enter, false, false, false, false);
下载附件即可查看完整demo:itwn:

页: [1]
查看完整版本: 通过自定义命令实现结束编辑活动单元格右移