IBX.IBQuery.TIBQuery.OnFilterRecord

提供:RAD Studio API Documentation

Delphi

property OnFilterRecord: TFilterRecordEvent read FOnFilterRecord write SetOnFilterRecord;

C++

__property OnFilterRecord;

プロパティ

種類 可視性 ソース ユニット
event published
IBX.IBQuery.pas
IBX.IBQuery.hpp
IBX.IBQuery TIBQuery

説明

DB からレコードが取得されたとき、または Filtered プロパティが True に設定されたときにのみ、発生します。 {{#multireplace:IBX.IBQuery.TIBQuery.OnFilterRecord|H21=!|H25=%|H28=(|H29=)|H2A=*|H2B=+|H2F=/|H3C=<|H3D==|H3E=>|H5B=[|H5D=]|H5E=^|H7C=|}} は {{#multireplace:Data.DB.TDataSet.OnFilterRecord|H21=!|H25=%|H28=(|H29=)|H2A=*|H2B=+|H2F=/|H3C=<|H3D==|H3E=>|H5B=[|H5D=]|H5E=^|H7C=|}} を継承しています。以下の内容はすべて {{#multireplace:Data.DB.TDataSet.OnFilterRecord|H21=!|H25=%|H28=(|H29=)|H2A=*|H2B=+|H2F=/|H3C=<|H3D==|H3E=>|H5B=[|H5D=]|H5E=^|H7C=|}} を参照しています。

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 型のイベント ハンドラです。

関連項目