概述

Spread.Sheets V11SP1 带来了更加简便强大的撤销重做(undo/redo)机制。增删行列等操作的撤销也变的更加简便。

在 SP1 之前,执行命令时需要对 undo 的事件进行缓存,undo 的时候执行相关接口重新执行缓存的数据。到了 SP1,只需要一组 startTransaction 和 endTransaction 的操作,便可自动缓存相关事务,undo 时执行 undoTransaction 进行撤销。

代码如下:

 var commandManager = spread.commandManager();
 var command = {
 canUndo: true, execute: function (context, options, isUndo) {
 var Commands = GC.Spread.Sheets.Commands;
 if (isUndo) {
 Commands.undoTransaction(context, options);
 return true;
 }
 else {
 Commands.startTransaction(context, options);
 var sheet = context.getSheetFromName(options.sheetName);
 var cell = sheet.getCell(options.row, options.col);
 cell.backColor(options.backColor);
 Commands.endTransaction(context, options);
 return true;
 }
 }
 };
 commandManager.register("changeBackColor", command);
 commandManager.execute({ cmd: "changeBackColor", sheetName: spread.getSheet(0).name(), row: 1, col: 1, backColor: "red" });
 

从代码中我们可以看出,命令中无需对任何数据进行缓存,只需要调用 startTransaction 和 endTransaction 方法,在中间及时执行 addRows 这样的操作,也能在 undo 时候轻松撤销。即使删除行造成的公式 #REF,现在也能顺利撤销。

从何处获取最新版的 SpreadJS?

新一代 JavaScript 电子表格控件 SpreadJS 正式发布 2018 V11.1 版本,新版本提供撤销/重做功能,并增强了 UI 和数据筛选,极大的提升了产品的实用性,并更加方便优雅的嵌入您的应用系统。点击此处立即试用

想要查看更多 SpreadJS 新版本特性,请点击此处


如果你的项目需要一款功能和 Excel 类似且支持 WinForm、ASP.NET、XAML 、WinRT 等多个平台的表格控件。用于在您的应用系统中实现表格数据录入和编辑等交互功能,并且提供灵活的定制能力和丰富的数据可视化效果。Spread Studio 表格控件能完全满足您的需求,它目前已经广泛应用在财务、预算、工程、统计等领域的信息系统中。通过图表引擎和数据可视化功能,为商业表单控制面板提供丰富、有效的内容信息。点击这里,了解 Spread Studio

如果您不想借助 Microsoft Excel,并想超快批量操作 Excel 文件,我们推荐您使用 Spread 表格组件,无需安装 Microsoft Excel,通过代码,您即可快速创建、导入、编辑、转化、导出 Excel 文件,支持多种应用程序平台的调用,不限服务器类型,拥有高性能快速处理引擎,大幅缩短您的开发时间。点击这里,了解 Spread 表格组件

如果你还有其他疑问,可以到 GCDN (葡萄城技术社区)获得技术支持:

SpreadJS专区:http://gcdn.gcpowertools.com.cn/showforum-185-1.html

GCDN:http://gcdn.grapecity.com.cn/

官方网站:葡萄城官网