找回密码
 立即注册

QQ登录

只需一步,快速开始

Derrick.Jiao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-12-28 13:52  /   查看:2434  /  回复:0
相信有的朋友已经发现,SpreadJS按下回车结束编辑后,默认是跳到下一行、同一列的单元格中。而在Excel中,结束编辑后,活动单元格是默认在同一行向右移动一列。那么要想实现这个需求,我们可以通过自定义命令来实现。我们可以调用内部的命令去组成这个命令。
以下就是这个自定义的命令,在里面,我们调用了commandManager的execute方法去执行“moveToNextCell”来移动到右侧。
  1. var command = {
  2.                     canUndo: true,
  3.                     execute: function(spread, options, isUndo) {
  4.                         var Commands = GC.Spread.Sheets.Commands;
  5.                         if (isUndo) {
  6.                             Commands.undoTransaction(spread, options);
  7.                             return true;
  8.                         } else {
  9.                             Commands.startTransaction(spread, options);
  10.                             commandManager.execute({
  11.                                 cmd: 'moveToNextCell',
  12.                                 sheetName: spread.getActiveSheet().name(),
  13.         
  14.                             });
  15.                             Commands.endTransaction(spread, options);
  16.                             return true;
  17.                         }
  18.                     }
  19.                 };
复制代码
最后注册这个命令以及快捷键就大功告成。
  1. commandManager.register('move', command);
  2.                 spread.commandManager().setShortcutKey("move", GC.Spread.Commands.Key.enter, false, false, false, false);
复制代码
下载附件即可查看完整demo
向右移动_update.html (2.5 KB, 下载次数: 60)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部