Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

apollo's Wiki - ext-rdb-RDB-DataSource Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

→[[RDB::DataSource]]

! 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 は,変更を登録する前にさらにデータを処理したり検証したりする場合に便利です。