44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
using System;
|
|
|
|
namespace CPF.ReoGrid.Actions
|
|
{
|
|
public class MoveRangeAction : BaseWorksheetAction
|
|
{
|
|
public PartialGridCopyFlag ContentFlags { get; set; }
|
|
|
|
public RangePosition FromRange { get; set; }
|
|
|
|
public CellPosition ToPosition { get; set; }
|
|
|
|
public MoveRangeAction(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.MoveRange(this.FromRange, rangePosition);
|
|
base.Worksheet.SelectionRange = rangePosition;
|
|
}
|
|
|
|
public override void Undo()
|
|
{
|
|
RangePosition rangePosition = new RangePosition(this.ToPosition.Row, this.ToPosition.Col, this.FromRange.Rows, this.FromRange.Cols);
|
|
base.Worksheet.MoveRange(rangePosition, this.FromRange);
|
|
base.Worksheet.SetPartialGrid(rangePosition, this.backupGrid);
|
|
base.Worksheet.SelectionRange = this.FromRange;
|
|
}
|
|
|
|
public override string GetName()
|
|
{
|
|
return "Move Range";
|
|
}
|
|
|
|
private PartialGrid backupGrid;
|
|
}
|
|
}
|