FMX.ListView.TListView.OnSearchChange

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

property OnSearchChange: TNotifyEvent read FOnSearchChange write FOnSearchChange;

C++

__property OnSearchChange;

Properties

Type Visibility Source Unit Parent
event published
FMX.ListView.pas
FMX.ListView.hpp
FMX.ListView TListView

Description

Occurs when the search box in a list view loses the focus and its content has changed since it gained the focus.

FMX.ListView.TListView.OnSearchChange inherits from FMX.ListView.TListViewBase.OnSearchChange. All content below this line refers to FMX.ListView.TListViewBase.OnSearchChange.

Occurs when the search box in a list view loses the focus and its content has changed since it gained the focus. This event exposes the OnChange event of the TSearchBox that implements the search box of a list view.

For example, the code snippet below updates the text in a status bar on this event to show the number of items left in the list after the specified filter is applied:

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

See Also