43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using System;
|
|
|
|
namespace CPF.ReoGrid.Actions
|
|
{
|
|
public class CopyRangeAction : BaseWorksheetAction
|
|
{
|
|
public PartialGridCopyFlag ContentFlags { get; set; }
|
|
|
|
public RangePosition FromRange { get; set; }
|
|
|
|
public CellPosition ToPosition { get; set; }
|
|
|
|
public CopyRangeAction(RangePosition fromRange, CellPosition toPosition)
|
|
{
|
|
this.ContentFlags = PartialGridCopyFlag.All;
|
|
this.FromRange = fromRange;
|
|
this.ToPosition = toPosition;
|
|
}
|
|
|
|
public override void Do()
|
|
{
|
|
RangePosition rangePosition = new RangePosition(this.ToPosition.Row, this.ToPosition.Col, this.FromRange.Rows, this.FromRange.Cols);
|
|
this.backupGrid = base.Worksheet.GetPartialGrid(rangePosition);
|
|
base.Worksheet.CopyRange(this.FromRange, rangePosition);
|
|
base.Worksheet.SelectionRange = rangePosition;
|
|
}
|
|
|
|
public override void Undo()
|
|
{
|
|
RangePosition toRange = new RangePosition(this.ToPosition.Row, this.ToPosition.Col, this.FromRange.Rows, this.FromRange.Cols);
|
|
base.Worksheet.SetPartialGrid(toRange, this.backupGrid);
|
|
base.Worksheet.SelectionRange = this.FromRange;
|
|
}
|
|
|
|
public override string GetName()
|
|
{
|
|
return "Copy Range";
|
|
}
|
|
|
|
private PartialGrid backupGrid;
|
|
}
|
|
}
|