找回密码
 立即注册

QQ登录

只需一步,快速开始

Joestar.Xu SpreadJS 开发认证
超级版主   /  发表于:2024-7-2 14:00  /   查看:409  /  回复:0
在MS Excel中,用户可以使用Ctrl+Enter快捷键来快速填充单元格的值。如下图:

动画 (0).gif306202391.png



但是在SpreadJS中,实现这样功能的快捷键是Ctrl+Shift+Enter,如下图:


动画 (1).gif470225524.png

虽然在SpreadJS中可以实现这样的需求,使用的快捷键却和Excel中的不一样,如果要和Excel保持一致也使用Ctrl+Enter来实现会怎么样呢?

使用命令进行了填充的操作,绑定到Ctrl+Enter上后并没有生效,而是进行了换行的操作:

image.png37674559.png

为了解决这样的问题,可以参考下面的代码来实现:

  1. var isReservedKeyFn = GC.Spread.Sheets.CellTypes.Text.prototype.isReservedKey;
  2. GC.Spread.Sheets.CellTypes.Text.prototype.isReservedKey = function (evt, context) {
  3.     var { keyCode, ctrlKey, altKey, shiftKey } = evt;
  4.     if (keyCode === 13 && ctrlKey && !shiftKey && !altKey) {
  5.         return false;
  6.     }
  7.     return isReservedKeyFn.apply(this, arguments);
  8. }
  9. spread.commandManager().register('customCommitArrayFormula', GC.Spread.Sheets.Commands.commitArrayFormula, GC.Spread.Commands.Key.enter, true, false, false, false);
复制代码


动画 (2).gif978247070.png

0 个回复

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