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

42 lines
1.1 KiB
C#

using System;
using System.Diagnostics;
namespace CPF.ReoGrid.Actions
{
public class SetPartialGridAction : WorksheetReusableAction
{
public SetPartialGridAction(RangePosition range, PartialGrid data) : base(range)
{
this.data = data;
}
public override WorksheetReusableAction Clone(RangePosition range)
{
return new SetPartialGridAction(range, this.data);
}
public override void Do()
{
this.backupData = base.Worksheet.GetPartialGrid(base.Range, PartialGridCopyFlag.All, ExPartialGridCopyFlag.BorderOutsideOwner, false);
Debug.Assert(this.backupData != null);
base.Range = base.Worksheet.SetPartialGridRepeatly(base.Range, this.data);
base.Worksheet.SelectRange(base.Range);
}
public override void Undo()
{
Debug.Assert(this.backupData != null);
base.Worksheet.SetPartialGrid(base.Range, this.backupData, PartialGridCopyFlag.All, ExPartialGridCopyFlag.BorderOutsideOwner);
}
public override string GetName()
{
return "Set Partial Grid";
}
private PartialGrid data;
private PartialGrid backupData;
}
}