FMX.ListView.TListView.OnDeletingItem

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property OnDeletingItem;

C++

__property OnDeletingItem;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
event published
FMX.ListView.pas
FMX.ListView.hpp
FMX.ListView TListView

Beschreibung

Wird ausgelöst, wenn ein Benutzer das Löschen eines Listeneintrags anfordert, bevor das Löschen erfolgt.

FMX.ListView.TListView.OnDeletingItem erbt von FMX.ListView.TListViewBase.OnDeletingItem. Der folgende Inhalt bezieht sich auf FMX.ListView.TListViewBase.OnDeletingItem.

Wird ausgelöst, wenn ein Benutzer das Löschen eines Listeneintrags anfordert, bevor das Löschen erfolgt. Sie können eine Ereignisbehandlungsroutine für dieses Ereignis anhand Ihrer eigenen Kriterien definieren, um das tatsächliche Löschen zu verhindern.

Ereignisbehandlungsroutinen für dieses Ereignis müssen folgende Parameter enthalten:

  • Sender, die Listenansicht.
  • AIndex, der Index des Listeneintrags, der gelöscht werden soll.
  • ACanDelete, die Variable, die festlegt, ob der Listeneintrag gelöscht werden soll oder nicht.

Um das Löschen zu verhindern, setzen Sie ACanDelete in Ihrer Ereignisbehandlungsroutine auf False.

Das folgende Codefragment zeigt ein Dialogfeld zur Bestätigung des Löschens an. Wenn Sie auf Cancel klicken, wird ACanDelete auf False gesetzt und das Löschen des Listeneintrags abgebrochen:

Delphi:

procedure TMainForm.ListViewDeletingItem(Sender: TObject; AIndex: Integer; var ACanDelete: Boolean);
var
  Input: Integer;
begin
  Input := TDialogServiceSync.MessageDialog(
    'Are you sure that you want to remove "' +
        (Sender as TListView).Items[AIndex].Text + '" from the list?',
    TMsgDlgType.mtConfirmation, mbOKCancel, TMsgDlgBtn.mbOK, 0);
  if Input = 2 then // Cancel
    ACanDelete := False;
end;

C++:

void __fastcall TMainForm::ListViewDeletingItem(TObject *Sender, int AIndex, bool &ACanDelete)
{
  TListView* list = reinterpret_cast<TListView*>(Sender);
  int input = TDialogServiceSync::MessageDialog(
      "Are you sure that you want to remove \"" +
          list->Items->Item[AIndex]->Text + "\" from the list?",
      TMsgDlgType::mtConfirmation, mbOKCancel, TMsgDlgBtn::mbOK, 0);
  if (input == 2) { // Cancel
        ACanDelete = false;
  }
}

Siehe auch