UTable .NET Framework用 表入力コンポーネント
ドキュメント

アンドゥとリドゥ

UTableはUndoBufferEnabledというプロパティの値がTrueの間、 操作の内容をUndoBufferに蓄積します。

UndoBufferに内容が蓄積されている状態で、 Undoメソッドをを呼ぶと、直前の操作を取り消すことができます。

  table.Undo()

Undoメソッドが呼ばれると、UndoBufferの先頭にあった内容はRedoBufferに蓄積されます。 RedoBufferに内容が蓄積されている状態で、 Redoメソッドを呼ぶと、取り消した操作をやり直すことができます。

  table.Redo()

デフォルトのKeyboardOperationはCtrl+ZでUndo、Ctrl+YでRedoが行われるようになっています。

なお、レコードの追加、削除、クリア操作をUndoとRedoで処理させる場合は、 常にレコードプロバイダを用いてください。 それ以外の方法でフィールドを生成しても、その操作内容はUndoBufferに残すことができません。

EditBlock

1つのEditBlock内で行われた操作は、1回のUndoまたはRedoでまとめて行われます。

  Using table.EditBlock
    field1.Value = "foo"
    field2.Value = "bar"  
  End Using

  table.Undo '上記の操作が1度に取り消される

UndoBufferMax

UndoBufferMaxプロパティでUndoBufferの最大サイズを設定することができます。 デフォルト値は100です。

  table.UndoBufferMax = 50 '50回分の操作を蓄積する

UndoBufferの破棄

一時的にでもUndoBufferEnabledがFalseになると、 それまでに蓄積されたUndoBufferは捨てられます。

  table.UndoBufferEnabled = False 'この時点でUndoBufferは捨てられる
  table.UndoBufferEnabled = True

ClearUndoBufferメソッドを呼ぶことでも、UndoBufferを捨てることができます。

  table.ClearUndoBuffer()

次へ    ドキュメントのトップ / ホーム


Copyright (c) 2009, SystemBase Co.,Ltd.
All rights reserved.