Spread.Sheets
アンドゥおよびリドゥの使用
Spread.Sheets > 開発者の手引き > ユーザーインタフェースの管理 > アンドゥおよびリドゥの使用

[Ctrl]+[Z]キーを使用すると、ウィジェット内のアクションをアンドゥできます。 続いて[Ctrl]+[Y]キーを押すと、取り消したアクションをリドゥできます。

アンドゥが可能なアクションの種類は、次のとおりです。

以下のアクションは、[Ctrl]+[Z]キーで取り消すことはできません。

アクションのアンドゥを有効にするかどうかをコード内で指定するには、options.allowUndoプロパティを使用します。

allowUndoプロパティをtrueに設定すると、操作のアンドゥおよびリドゥが可能になります。これにはstartTransaction()メソッド、undoTransaction() メソッド、およびendTransaction()メソッドを使用します。

コードの使用

次のサンプルコードは、options.allowUndoプロパティを設定し、アクションを指定します。

JavaScript
コードのコピー
spread.options.allowUndo = true;
spread.commandManager().execute({cmd: "outlineRow", sheetName: activeSheet.name(), index: 3, count: 5});

次のサンプルコードは、startTransaction()undoTransaction()、およびendTransaction()メソッドを使用して、セルの背景色を変更します。

JavaScript
コードのコピー

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;
                   } 

                 }
                };
var spread = GC.Spread.Sheets.findControl(document.getElementById("sampleDiv"));
var commandManager = spread.commandManager();
commandManager.register("changeBackColor", command);
commandManager.execute({ cmd: "changeBackColor", sheetName: spread.getSheet(0).name(), row: 1, col: 2, backColor: "red" }); 

関連トピック