FMX.ListView.TListViewBase.OnFilter
Delphi
property OnFilter: TFilterEvent read FOnFilter write SetOnFilter;
C++
__property Fmx::Searchbox::TFilterEvent OnFilter = {read=FOnFilter, write=SetOnFilter};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | public | FMX.ListView.pas FMX.ListView.hpp |
FMX.ListView | TListViewBase |
説明
検索ボックスのフィルタリング時に発生します。
OnFilter のイベント ハンドラを記述すると、TSearchBox のカスタム検索フィルタを設定できます。
TFilterEvent 型の OnFilter イベントには次のパラメータがあります。
パラメータ | 説明 |
---|---|
Sender
|
呼び出されるイベント ハンドラの所属先のオブジェクトです。 |
AFilter
|
さまざまな項目(AValue パラメータ)の中からフィルタリングされる文字列です。
|
AValue
|
AFilter の検索が実行される項目の文字列です。
|
Accept
|
フィルタ条件が存在する場合に使用する論理型パラメータです。
フィルタ条件を追加するために |
たとえば、以下のサンプル コードでは、項目(AValue
)がフィルタリング文字列(AFilter
)で始まるかどうかを判定するカスタム フィルタを追加しています。
Delphi の場合:
procedure TForm2.ListView1Filter(Sender: TObject; const AFilter, AValue: string;
var Accept: Boolean);
begin
Accept := AValue.StartsWith(AFilter, True);
end;
C++ の場合:
void __fastcall TForm1::ListView1Filter(TObject *Sender, const UnicodeString AFilter,
const UnicodeString AValue, bool &Accept)
{
Accept = StartsStr(AFilter.LowerCase(), AValue.LowerCase());
}
メモ: SearchVisible プロパティを有効にすると、リスト ビューの上部に検索ボックスが表示されます。