RAD Studio VCL リファレンス
内容インデックス
前へ上へ次へ
TDataSet.OnFilterRecord イベント

フィルタ処理が有効な場合に,データセット内のアクティブレコードがかわるたびに発生します。

Pascal
property OnFilterRecord: TFilterRecordEvent;
C++
__property TFilterRecordEvent OnFilterRecord;

OnFilterRecord イベントハンドラを記述すると,データセット内の各レコードがアプリケーションにとって可視であるかどうかを指定することができます。レコードがフィルタ条件に適合することを示すには,OnFilterRecord イベントハンドラによって Accept パラメータを true に設定する必要があります。レコードを除外するには,Accept パラメータを false に設定します。 TDataSet のほとんどの下位オブジェクト(ADO データセットまたは BDE ベースのデータセット)は,Accept を true に初期化してから,OnFilterRecord イベントハンドラを呼び出します。

警告: OnFilterRecord イベントハンドラを単方向データセットに提供しないでください。単方向データセットはフィルタをサポートしていないので,OnFilterRecord イベントハンドラを割り当てると,データセットが例外を生成します。
Filtered プロパティが true のときにフィルタ処理が可能になります。アプリケーションがフィルタ処理を実行しているときは,データセットの State プロパティは dsFilter です。 

Filter プロパティでは実装できない基準を使ってレコードをフィルタするには,OnFilterRecord イベントハンドラを使用します。 たとえば,Filter プロパティを使用する場合,ローカルテーブル(Paradox,dBASE,Access)に対してフィールドの比較はサポートされませんが,OnFilterRecord イベントハンドラは任意のフィルタ条件でフィルタ処理を実行できます。

ヒント: 1 つのアプリケーションで同時に使用する場合は,Filter プロパティと OnFilterRecord イベントハンドラとの対話の結果として,空のフィルタセットが生み出されないように注意する必要があります。
 

 

Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
このトピックに対する評価をお聞かせください フィードバックを送信