PowerTools SPREAD for Windows Forms 10.0J
値の移動

DefaultSheetDataModelクラスのMoveメソッドを使用すると、セル間またはセル範囲間でデータを移動できます。

セル(またはセル範囲)にデータを移動すると、移動先セル(またはセル範囲)のデータは移動元のデータに置き換えられます。 セル範囲を移動する場合、移動元のセル範囲と移動先のセル範囲が重複している場合は、データの移動先のセル範囲内の値はすべて、移動元のセル範囲の値に置き換えられます。

セルまたはセル範囲が移動されたときに、数式を自動更新するかを指定できます。 自動計算の詳細については、「自動再計算と自動更新」を参照してください。

サンプルコード

次のサンプルコードは、シートの末尾3行を先頭に、先頭の5行を末尾に移動する例です。行の移動先に空白行を挿入し、移動後に移動元の行を削除します。この例では、先頭の5行を一時的にコピーし、末尾3行を移動してから、コピーした5行を末尾に貼り付けます。

C#
コードのコピー
fpSpread1.Sheets[0].SetText(6, 0, "test");
var with1 = (FarPoint.Win.Spread.Model.DefaultSheetDataModel)fpSpread1.Sheets[0].Models.Data;
FarPoint.Win.Spread.Model.DefaultSheetDataModel dm = new FarPoint.Win.Spread.Model.DefaultSheetDataModel(5, with1.ColumnCount);
dm.SetArray(0, 0, ((FarPoint.Win.Spread.Model.DefaultSheetDataModel)fpSpread1.Sheets[0].Models.Data).GetArray(0, 0, 5, 5));
with1.RemoveRows(0, 5);
with1.AddRows(0, 3);
with1.Move(with1.RowCount - 3, 0, 0, 0, 3, with1.ColumnCount);
with1.RemoveRows(with1.RowCount - 3, 3);
with1.AddRows(with1.RowCount, 5);
with1.SetArray(with1.RowCount - 5, 0, dm.GetArray(0, 0, 5, with1.ColumnCount));
Visual Basic
コードのコピー
With CType(FpSpread1.Sheets(0).Models.Data, FarPoint.Win.Spread.Model.DefaultSheetDataModel)
    Dim dm As New FarPoint.Win.Spread.Model.DefaultSheetDataModel(5, .ColumnCount)
    dm.SetArray(0, 0, CType(FpSpread1.Sheets(0).DataModel, FarPoint.Win.Spread.Model.DefaultSheetDataModel).GetArray(0, 0, 5, 5))
    .RemoveRows(0, 5)
    .AddRows(0, 3)
    .Move(.RowCount - 3, 0, 0, 0, 3, .ColumnCount)
    .RemoveRows(.RowCount - 3, 3)
    .AddRows(.RowCount, 5)
    .SetArray(.RowCount - 5, 0, dm.GetArray(0, 0, 5, .ColumnCount))
End With
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.