using System; using System.Diagnostics; namespace CPF.ReoGrid.Actions { public class SetRangeDataAction : WorksheetReusableAction { public SetRangeDataAction(RangePosition range, object[,] data) : base(range) { this.data = data; } public override WorksheetReusableAction Clone(RangePosition range) { return new SetRangeDataAction(range, this.data); } public override void Do() { this.backupData = base.Worksheet.GetRangeData(base.Range); Debug.Assert(this.backupData != null); base.Worksheet.SetRangeData(base.Range, this.data, true); base.Worksheet.SelectRange(base.Range); } public override void Undo() { Debug.Assert(this.backupData != null); base.Worksheet.SetRangeData(base.Range, this.backupData); } public override string GetName() { return "Set Cells Data"; } private object[,] data; private object[,] backupData; } }