找回密码
 立即注册

QQ登录

只需一步,快速开始

大卫

注册会员

1

主题

6

帖子

11

积分

注册会员

积分
11
  • 49

    金币

  • 1

    主题

  • 6

    帖子

最新发帖
大卫
注册会员   /  发表于:2022-9-21 18:47  /   查看:1458  /  回复:8
1金币
插入一行调这个撤销功能他还会在插入一行

最佳答案

查看完整内容

您好,您需要将插入新行包装成一个命令去执行才能够撤销 https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Commands.CommandManager#register 如下图所示需要替换红框中的内容为您插入行的相关api操作,然后参考API文档实例中的方式去注册并执行即可。

8 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-21 18:47:10
来自 4#
您好,您需要将插入新行包装成一个命令去执行才能够撤销
https://demo.grapecity.com.cn/sp ... andManager#register
如下图所示需要替换红框中的内容为您插入行的相关api操作,然后参考API文档实例中的方式去注册并执行即可。
image.png88945006.png
回复 使用道具 举报
有点东西悬赏达人认证
初级会员   /  发表于:2022-9-21 19:13:26
2#
请问是指右键插入一行在按下ctrl+z撤销吗?我这边没有复现你得问题,请问具体怎么操作呢?可以把完整的复现步骤描述一下。
回复 使用道具 举报
大卫
注册会员   /  发表于:2022-9-21 19:36:36
3#
通过js方式插入新行:sheet.addRows(row, options.count || 1);
然后撤销就有问题
回复 使用道具 举报
大卫
注册会员   /  发表于:2022-9-23 17:17:58
5#
Clark.Pan 发表于 2022-9-22 12:24
您好,您需要将插入新行包装成一个命令去执行才能够撤销
https://demo.grapecity.com.cn/spreadjs/help/ap ...

代码里确实已经将插入操作包装成一个命令去执行了,但是还是有问题
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-23 17:24:54
6#
那你把demo发出来我看看
回复 使用道具 举报
大卫
注册会员   /  发表于:2022-9-23 17:27:44
7#
Clark.Pan 发表于 2022-9-23 17:24
那你把demo发出来我看看

const executeInTransactionContext = (
  core,
  executor: (context: any, options: any, isUndo: boolean) => void,
) => {
  const Commands = GC.Spread.Sheets.Commands;
  return (context: any, options: any, isUndo: boolean) => {
    if (isUndo) {
      Commands.undoTransaction(context, options);
      return true;
    }
    Commands.startTransaction(context, options);
    try {
      业务代码(增删改查)
    } catch (e) {
      console.error(e);
      return false;
    } finally {
      Commands.endTransaction(context, options);
    }
  };
};
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-23 18:13:56
8#
请发完整能跑的demo,谢谢
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-29 14:27:48
9#
请问楼主问题解决了吗?如果仍未解决,请提供可复现的demo,以便问题后续调研。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部