FMX.ListView.TListViewBase.OnDeletingItem
Delphi
property OnDeletingItem: TDeletingItemEvent read FOnDeletingItem write FOnDeletingItem;
C++
__property TDeletingItemEvent OnDeletingItem = {read=FOnDeletingItem, write=FOnDeletingItem};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
event | public | FMX.ListView.pas FMX.ListView.hpp |
FMX.ListView | TListViewBase |
Beschreibung
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;
}
}