Data.DB.TDataSet.OnFilterRecord

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

Delphi

property OnFilterRecord: TFilterRecordEvent read FOnFilterRecord write SetOnFilterRecord;

C++

__property TFilterRecordEvent OnFilterRecord = {read=FOnFilterRecord, write=SetOnFilterRecord};

プロパティ

種類 可視性 ソース ユニット
event public
Data.DB.pas
Data.DB.hpp
Data.DB TDataSet


説明

DB からレコードが取得されたとき、または Filtered プロパティが True に設定されたときにのみ、発生します。

OnFilterRecord イベント ハンドラを記述すると、データセット内のレコードごとに、そのレコードをアプリケーションに見せるかどうかを指定することができます。レコードがフィルタ条件を満たしていることを示すには、OnFilterRecord イベント ハンドラで Accept パラメータを true に設定する必要があります。レコードを除外するには、Accept パラメータを false に設定します。TDataSet のほとんどの下位クラス(ADO データセットなど)では、OnFilterRecord イベント ハンドラの呼び出し前に Accept が true に初期化されます。

警告: 単方向データセットには OnFilterRecord イベント ハンドラを指定しないでください。単方向データセットではフィルタをサポートしていないため、OnFilterRecord イベント ハンドラを割り当てると、データセットで例外が発生する原因となります。

フィルタ処理は、Filtered プロパティが true のときに有効になります。アプリケーションがフィルタを処理している間、データセットの State プロパティは dsFilter になります。

OnFilterRecord イベント ハンドラを使用すると、Filter プロパティを使っては実装できない条件によってレコードを選別することができます。たとえば Filter プロパティを使用してフィールドとローカル テーブル(Paradox、dBASE、Access、FoxPro)とを比較することはできませんが、OnFilterRecord イベント ハンドラではどのような条件でも実装することができます。

ヒント: 1 つのアプリケーションで Filter プロパティと OnFilterRecord イベント ハンドラを同時に使用する場合、両者間のやり取りの結果としてフィルタ セットが空にならないよう注意してください。

OnFilterRecord は、Data.DB.TFilterRecordEvent 型のイベント ハンドラです。

関連項目