FMX.ListView.TListViewBase.OnSearchChange
Delphi
property OnSearchChange: TNotifyEvent read FOnSearchChange write FOnSearchChange;
C++
__property System::Classes::TNotifyEvent OnSearchChange = {read=FOnSearchChange, write=FOnSearchChange};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
event | public | FMX.ListView.pas FMX.ListView.hpp |
FMX.ListView | TListViewBase |
Beschreibung
Wird ausgelöst, wenn das Suchfeld in einer Listenansicht den Fokus verliert und dessen Inhalt geändert wurde, seit es den Fokus erhalten hat. Dieses Ereignis stellt das OnChange-Ereignis von TSearchBox bereit, das das Suchfeld einer Listenansicht implementiert.
Das folgende Codefragment aktualisiert z. B. bei diesem Ereignis den Text in einer Statusleiste, um die Anzahl der verbleibenden Einträge in der Liste nach dem Anwenden des angegebenen Filters anzuzeigen:
Delphi:
procedure TMainForm.ListViewSearchChange(Sender: TObject);
var
I: Integer;
SearchBox: TSearchBox;
List: TListView;
begin
List := Sender as TListView;
for I := 0 to List.Controls.Count-1 do
if List.Controls[I].ClassType = TSearchBox then
begin
SearchBox := TSearchBox(List.Controls[I]);
Break;
end;
StatusBar.Text := IntToStr(List.Items.Count) + ' list items match ' + QuotedStr(SearchBox.Text) + '.';
end;
C++:
void __fastcall TMainForm::ListViewSearchChange(TObject *Sender)
{
TSearchBox* searchBox;
TListView* list = reinterpret_cast<TListView*>(Sender);
for (int i = 0; i < list->Controls->Count; i++) {
searchBox = dynamic_cast<TSearchBox*>(list->Controls->Items[i]);
if (searchBox) break;
}
MainForm->StatusBar->Text = UnicodeString(list->Items->Count) + " list items match " + QuotedStr(searchBox->Text) + ".";
}