相信有的朋友已经发现,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
向右移动_update.html
(2.5 KB, 下载次数: 60)
|
|