FMX.ListView.TListView.OnDeletingItem

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property OnDeletingItem: TListViewBase.TDeletingItemEvent read FOnDeletingItem write FOnDeletingItem;

C++

__property OnDeletingItem;

Propriétés

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

Description

Survient quand un utilisateur demande la suppression d'un élément de la vue liste, avant l'exécution de la suppression.

FMX.ListView.TListView.OnDeletingItem hérite de FMX.ListView.TListViewBase.OnDeletingItem. Tout le contenu en-dessous de cette ligne se réfère à FMX.ListView.TListViewBase.OnDeletingItem.

Survient quand un utilisateur demande la suppression d'un élément de la vue liste, avant l'exécution de la suppression. Vous pouvez définir un gestionnaire d’événement pour cet événement afin d'empêcher l'exécution de la suppression en fonction de vos critères.

Les gestionnaires de cet événement doivent attendre les paramètres suivants :

  • Sender, la vue liste.
  • AIndex, l'index de l'élément de la vue liste à supprimer.
  • ACanDelete, une variable qui détermine si l'élément de la vue doit être supprimé.

Pour empêcher l'exécution de la suppression, définissez ACanDelete sur False dans votre gestionnaire d'événement.

L'extrait de code ci-dessous affiche une boîte de dialogue demandant une confirmation avant la suppression d'un élément. Si vous cliquez sur Annuler, ACanDelete est défini sur False, annulant la suppression de l'élément de la vue liste :

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;
  }
}

Voir aussi