FMX.ListView.TListViewBase.OnSearchChange

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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) + ".";
}

Siehe auch