Data.Win.ADODB.TCustomADODataSet.FilterGroup
Delphi
property FilterGroup: TFilterGroup read GetFilterGroup write SetFilterGroup;
C++
__property TFilterGroup FilterGroup = {read=GetFilterGroup, write=SetFilterGroup, nodefault};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | Data.Win.ADODB.pas Data.Win.ADODB.hpp |
Data.Win.ADODB | TCustomADODataSet |
説明
行更新ステータスに基づいてレコードセットをフィルタ処理します。
FilterGroup プロパティを使用すると,ADO データセットコンポーネントで表示されるレコードセットをフィルタ処理できます。フィルタはデータセットが更新バッチモードであることを要求し,各行は各自の更新ステータスに基づいてフィルタ処理されます。FilterGroup を TFilterGroup 定数に設定すると,データセットをフィルタ処理してそのバッチ更新ステータスに一致する行だけを表示できます。たとえば FilterGroup を fgPendingRecords に設定すると,アプリケーションが最後に更新を行ってから変更された行だけを表示できます。
if (ADODataSet1.LockType = ltBatchOptimistic) then begin
ADODataSet1.Filtered := True;
ADODataSet1.FilterGroup := fgPendingRecords;
end;
if (ADODataSet1->LockType == ltBatchOptimistic)
{
ADODataSet1->Filtered = true;
ADODataSet1->FilterGroup = fgPendingRecords;
};
FilterGroup を使って行の更新ステータスに基づいてフィルタ処理を行うには,LockType プロパティを ltBatchOptimistic(バッチ更新の前提条件)に,Filtered プロパティを true に必ず設定します。フィルタ処理されたデータセットでは,RecordStatus プロパティを使って各行の更新ステータスを調べてください。
TFilterGroup 型には,以下の定数が入ります。
フィルタグループ型 | 意味 |
---|---|
fgUnassigned |
有効なフィルタ処理がないことを示します。この定数は,ADO データセットコンポーネントによって内部的に使用されます。 |
fgNone |
現在のフィルタ処理を削除し,すべての行が可視になります。Filtered プロパティを false に設定しても,同じ効果があります。 |
fgPendingRecords |
変更を加えられたが適用されなかった(UpdateBatch メソッド)か取り消された(CancelBatch メソッド)行だけを表示するようにフィルタ処理します。 |
fgAffectedRecords |
最後の更新の影響を受けた行だけを表示するようにフィルタ処理します。 |
fgFetchedRecords |
現在の更新キャッシュの行だけを表示するようにフィルタ処理します。これは,データベースから行を取得する最後の呼び出しの結果です。 |
fgPredicate |
削除された行だけを表示するようにフィルタ処理します。 |
fgConflictingRecords |
変更が加えられたがその適用でエラーが発生したために未変更となった行だけを表示するようにフィルタ処理します。 |
Recordset.Filter プロパティを参照してください。