FMX.ListView.TListView.OnDeletingItem
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;
}
}