CPF/CPF.ReoGrid/Actions/SetRangeDataAction.cs
2024-06-24 10:15:59 +08:00

42 lines
900 B
C#

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