[ top ] [ prev ] [ up ] [ next ]
RDB::DataSource
super class
Object
class methods
- new : EDB::DataSource
-
methods
properties
event handlers
- on_data_change(field) : nil
-
data_change event は, RDB::DataSource に関連付けられた RDB::DataSet でカレントレコードを編集したり,別の項目やレコードに移動したときに発生します。
- field: RDB::Field
-
同時に複数の項目が変更された場合 ( 別のレコードに移動した場合など ) には, field は nil になります。そうでない場合には field は編集された項目を示します。
on_data_change を記述すると, RDB::DataSource に関連付けられた RDB::DataSet でカレントレコードの項目を編集したり,別の項目やレコードに移動したときに特定のアクションを実行できます。このイベントを生成するメソッドには RDB::DataSet#next や RDB::DataSet#prior があります。データベース対応コントロールは,以下の処理によってデータが変更されたことを RDB::DataSource に通知します。
- 新規のレコードへのスクロール
- 項目のデータの変更
データベースに対応していない複数のコントロールで同時にデータを表示しなければならない場合に on_data_change は特に便利です。
- on_state_change : nil
-
state_change event は, RDB::DataSource の RDBB::DataSet の state が変わったときに発生します。
on_state_change を記述すると, RDB::DataSource に関連付けられた RDB::DataSet の state が変更されたときに特定のアクションを実行できます。データベースに正常に接続している間,データセットの状態は頻繁に変わります。例えば,ユーザーがデータベース対応コントロールで項目の編集を始めると, RDB::DataSet の state はまだ DS_EDIT になっていなければ DS_BROWSE から DS_EDIT に変わります。 on_state_change は,状態の変更に対する応答としてメニュー項目やボタンを使用可能 / 使用不可にするなどのアクションを実行できます。
- on_update_data : nil
-
update_data event は,カレントレコードが更新されるときに発生します。
on_update_data を記述すると,データベースにデータの変更を登録する前に特定のアクションを実行できます。データベースに変更を登録するときには, RDB::DataSet#post が実行される前に on_update_data が呼び出されます。 on_update_data は,変更を登録する前にさらにデータを処理したり検証したりする場合に便利です。
[ top ] [ prev ] [ up ] [ next ]