SPREAD for WPF 4.0J - GcSpreadGrid
セルのドラッグ移動
MESCIUS SPREAD for WPF 4.0J > 開発者ガイド > セル > セルのドラッグ移動

ユーザーに対して、選択範囲をドラッグして移動する操作を有効にできます。この操作が有効な場合、ユーザーが選択範囲の枠にマウスを移動すると、マウスポインタが移動を表す形状に変わります。この状態でドラッグ&ドロップすると選択範囲を移動できます。

セルのドラッグ移動

この操作を有効にするには、コントロールの CanUserDragCell プロパティを設定します。

ドラッグ移動は移動先のセルに値を設定します。読み取り専用のセルに対して移動することはできません。

ドラッグ移動の対象となる内容、および移動先に反映する内容は ClipboardCopyOptions および ClipboardPasteOptions プロパティで設定します。

イベント

セルをドラッグ移動すると、以下のイベントが発生します。

イベント 説明
DragEnding ドラッグ操作が終了する直前に発生します。
DragEnded ドラッグ操作が終了したあとに発生します。

このとき、イベントパラメーターDragEventArgs クラスのDragType プロパティには、MoveCells が設定されます。ドラッグ前およびドラッグ後のセル範囲は、SourceRange およびTargetRange プロパティから取得できます。

次のサンプルコードは、セルがドラッグ移動されたとき、移動前と移動後の先頭セルの位置を取得します。

C#
コードのコピー
void gcSpreadGrid1_DragEnded(object sender, GrapeCity.Windows.SpreadGrid.DragEventArgs e)
{
    if (e.DragType == DragType.MoveCells)
    {
        Console.WriteLine("[{0:D}, {1:D}]のセルが[{2:D}, {3:D}]に移動しました", e.SourceRange.Row, e.SourceRange.Column, e.TargetRange.Row, e.TargetRange.Column);
    }
}
Visual Basic
コードのコピー
Private Sub GcSpreadGrid1_DragEnded(sender As Object, e As DragEventArgs) Handles GcSpreadGrid1.DragEnded
    If e.DragType = DragType.MoveCells Then
            Console.WriteLine("[{0:D}, {1:D}]のセルが[{2:D}, {3:D}]に移動しました", e.SourceRange.Row, e.SourceRange.Column, e.TargetRange.Row, e.TargetRange.Column)
    End If
End Sub
関連トピック