![]() |
Delphi FMX Listview item bewegen Drag & Drop
Hallo,
ich frage mich seit Stunden wie ich einen Item in einer Delphi FMX Listview per Drag & Drop oder per Button nach oben oder nach unten bewegen kann? Danke |
AW: Delphi FMX Listview item bewegen Drag & Drop
Schade das niemand eine Antwort für mich parat hatte. bin jedenfalls auf folgende Lösung gekommen:
Item in der Listview hoch:
Delphi-Quellcode:
Item in der Listview runter:
procedure TfrmMain.upbtnClick(Sender: TObject);
var Litem : TListViewItem; idx:Integer; begin if not Assigned(Listview1.Selected) then Exit; idx := Listview1.Selected.Index; if idx > 0 then try Listview1.BeginUpdate; Litem := Listview1.Items.Insert(idx-1); with TListViewItem(Listview1.Items.Item[idx+1]) do begin LItem.Objects.FindObjectT<TListItemText>('Titel').Text := Objects.FindObjectT<TListItemText> ('Titel').Text; // in meinem Fall hatte jedes Listview Item mehrere Objekte end; Listview1.Items.Delete(idx+1); Listview1.ItemIndex := idx-1; finally Listview1.EndUpdate; end; end;
Delphi-Quellcode:
Vielleicht hilft es dem ein oder anderen.
procedure TfrmMain.downbtnClick(Sender: TObject);
var Litem : TListViewItem; idx:Integer; begin if not Assigned(Listview1.Selected) then Exit; idx := Listview1.Selected.Index; if idx < Listview1.Items.Count-1 then try Listview1.BeginUpdate; Litem := Listview1.Items.Insert(idx+2); with TListViewItem(Listview1.Items.Item[idx]) do LItem.Objects.FindObjectT<TListItemText>('Titel').Text := Objects.FindObjectT<TListItemText> ('Titel').Text; end; Listview1.Items.Delete(idx); Listview1.ItemIndex := idx+1; finally Listview1.EndUpdate; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz