データ ソースを介した変更への応答

提供: RAD Studio
移動先: 案内検索

データセットへのデータ コントロールの関連付け への移動


データ ソースはデータ コントロールとそのデータセットとのリンクとなるので、両者の間で行われるすべての通信を仲介します。通常、データ対応コントロールでは、データセットでの変更に自動的に反応します。しかし、データ対応でないコントロールをユーザー インターフェイスで使用している場合は、データ ソース コンポーネントのイベントを使用して、同様の反応を手動で行うことができます。

OnDataChange イベントは、レコードのデータが変化したり(フィールドの編集など)、カーソルが新しいレコードに移動するたびに発生します。このイベントは、あらゆる変更でトリガされるので、データセットの現在のフィールド値がコントロールに確実に反映されるようにするうえで役に立ちます。通常、フィールド データを表示する非データ対応コントロールの値は OnDataChange イベント ハンドラで更新します。

OnUpdateData イベントは、現在のレコードのデータをポストしようとすると発生します。たとえば、Post が呼び出された後、基になるデータベース サーバーまたはローカル キャッシュにデータが実際にポストされる前に、OnUpdateData イベントが発生します。

OnStateChange イベントは、データセットの状態が変化すると発生します。このイベントが発生した場合、データセットの State プロパティを調べると、データセットの現在の状態がわかります。

たとえば、次の OnStateChange イベント ハンドラでは、現在の状態に基づいてボタンやメニュー項目の有効/無効を切り替えます。

 procedure Form1.DataSource1.StateChange(Sender: TObject);
 begin
   CustTableEditBtn.Enabled := (CustTable.State = dsBrowse);
   CustTableCancelBtn.Enabled := CustTable.State in [dsInsert, dsEdit, dsSetKey];
   CustTableActivateBtn.Enabled := CustTable.State in [dsInactive];
   { ... }
 end;

メモ: データセットの状態の詳細については、「データセットの状態の決定」を参照してください。

関連項目