请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

qubernet

初级会员

24

主题

59

帖子

213

积分

初级会员

积分
213
qubernet
初级会员   /  发表于:2018-10-10 15:55  /   查看:7564  /  回复:18
        我们都知道在SpreadJS表单中,如果编辑了多个单元格的内容,如果想撤销,可以使用Ctrl+Z快捷键来操作。
        那么问题来了,这种情况下为何失效?
        
        合并单元格后,我想使用Ctrl+Z撤销刚才的合并单元格操作,但是这时候使用Ctrl+Z无效,请问怎么可以使用这个快捷键对合并单元格进行撤销操作呢?

18 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-10 17:08:48
沙发
您好,您是采用怎样的操作实现的合并单元格?

如果是代码执行的操作,必须封装成Command才能执行撤销操作,我发一个Demo给您参考。

CommandRollback.html

5.28 KB, 下载次数: 273

回复 使用道具 举报
qubernet
初级会员   /  发表于:2018-10-10 17:40:09
板凳
KevinChen 发表于 2018-10-10 17:08
您好,您是采用怎样的操作实现的合并单元格?

如果是代码执行的操作,必须封装成Command才能执行撤销操 ...

        是的,我通过代码实现合并单元格的,具体代码如下所示: Quber_2018-10-10_17-39-06.png
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-10 17:53:57
地板
对,像您这样用代码addSpan直接实现合并单元格,确实无法撤销。

我给您的Demo中展示了怎样封装一个Command,并执行Undo操作,

这个撤销用Ctrl + z也可以执行。

具体您可以查看我们的API中关于Command的描述:

http://help.grapecity.com/spread ... CommandManager.html
回复 使用道具 举报
qubernet
初级会员   /  发表于:2018-10-11 10:38:14
5#
KevinChen 发表于 2018-10-10 17:53
对,像您这样用代码addSpan直接实现合并单元格,确实无法撤销。

我给您的Demo中展示了怎样封装一个Comma ...

        我刚才使用您提供的方法思路测试了,针对单元格使用代码合并,然后使用Ctrl+Z还是不能撤销操作。Ctrl+Z只能撤销编辑的内容。。。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-11 11:04:37
6#
我再上传一个Demo,封装了addSpan。

具体使用方法:

1、修改Demo中SpreadJS依赖路径;

2、浏览器打开,框选一个区域;

3、点击“执行”按钮,或者按下快捷键Ctrl + ; (分号);

4、点击“回滚”执行回滚操作,或者点选表格(点选表格目的是让表格获取焦点,否则Ctrl + z无效)后按下快捷键Ctrl + z执行回滚;

CommandRollback2.html

5.13 KB, 下载次数: 249

回复 使用道具 举报
qubernet
初级会员   /  发表于:2018-10-11 13:25:08
7#
KevinChen 发表于 2018-10-11 11:04
我再上传一个Demo,封装了addSpan。

具体使用方法:

我确实也是按照你提供的方法来测试的,但始终使用Ctrl+Z不能撤销合并的单元格操作。

先不管这个问题了吧,有时间我再找找是不是其他原因影响到了,感谢多次提供帮助!
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-11 13:41:21
8#
不客气,如果确实不太好解决,

您可以发您的上下文代码,或者一个能重现问题的Demo,

我们这边帮您排查问题所在,

感谢您的支持。
回复 使用道具 举报
qubernet
初级会员   /  发表于:2018-10-11 13:48:41
9#
本帖最后由 qubernet 于 2018-10-11 13:50 编辑
KevinChen 发表于 2018-10-11 13:41
不客气,如果确实不太好解决,

您可以发您的上下文代码,或者一个能重现问题的Demo,

其实我遇到的问题和这个链接提到的第一个问题是一样的:

Spread部分场景下撤销操作有问题

SpreadJS中的Ctrl+Z只针对数据的撤销有效?对行为的撤销无效?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-11 14:04:22
10#
本帖最后由 KevinChen 于 2018-10-11 14:06 编辑

您用的SpreadJS是哪个版本的?

我给您上传的这个Demo,是Spread JS V11版的,这个Demo您跑起来是否存在您说的这个问题呢?

您看的帖子是16年的问题,当时Spread JS还不支持命令的Undo操作,需要自己实现,

所以当时会有客户提出这个问题。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部