找回密码
 立即注册

QQ登录

只需一步,快速开始

fawinell

注册会员

6

主题

12

帖子

46

积分

注册会员

积分
46
fawinell
注册会员   /  发表于:2023-9-11 20:16  /   查看:615  /  回复:4
- 官网示例即可复现
- 在win系统上选中某个单元格

- 按 退格键,进入了编辑状态,删除了内容,出现了光标
- 期望效果:按退格键直接删除内容,而不进入编辑状态。也即与 delete 键效果相同

请问该怎么做?
PS:没有自定义单元格,官网即可复现

4 个回复

倒序浏览
fawinell
注册会员   /  发表于:2023-9-11 20:21:54
沙发
看了这篇帖子(https://gcdn.grapecity.com.cn/showtopic-97780-1-1.html),感觉我的需求更明确点是:

如何在按退格键的时候,不进入 clearAndEditing 而是直接删除内容?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-12 09:25:32
板凳
您好,请参考以下代码:

  var command = {
    canUndo: true,
    execute: function (context, options, isUndo) {
      options.cmd = "delete";
      var Commands = GC.Spread.Sheets.Commands;
      if (isUndo) {
        Commands.undoTransaction(context, options);
        return true;
      } else {
        Commands.startTransaction(context, options);

        let sheet = context.getActiveSheet();
        let selections = sheet.getSelections();
        for (const selection of selections) {
          let range = sheet.getRange(selection.row, selection.col, selection.rowCount, selection.colCount);
          range.clear(GC.Spread.Sheets.StorageType.data);
        }

        Commands.endTransaction(context, options);
        return true;
      }
    },
  };

  spread.commandManager().register("delete", command);
  spread
    .commandManager()
    .setShortcutKey(
      "delete",
      GC.Spread.Commands.Key.backspace,
      false,
      false,
      false,
      false
    );
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
fawinell
注册会员   /  发表于:2023-9-12 15:45:10
地板
Joestar.Xu 发表于 2023-9-12 09:25
您好,请参考以下代码:

  var command = {

谢谢!解决了问题
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-12 17:16:32
5#
不客气, 那就先结贴了,后续有其他问题的话随时开贴提问哈。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部