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 |