Hallo alle zusammen!
Ich stelle gerade meine Delphi-Kenntnisse mächtig in Frage und hoffe das mir irgendjemand helfen kann!
Folgendes Problem:
Ich benutze ein TListView um meine Daten darzustellen. Die Reihenfolge der Items ist dabei für mich von großer Bedeutung. Nun wollte ich eine Funktionalität implementieren, bei der das aktuell gewählte Item auf Buttonclick eine Position nach oben "wandert" (sprich mit dem darüberstehenden seinen Platz tauscht) und habe mir gedacht, das sollte wie folgt fuinktionieren:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
temp: TListItem;
begin
if (ListView1.SelCount > 0) then
begin
i := ListView1.Selected.Index;
if (i > 0) then
begin
temp := ListView1.Items[i-1]);
ListView1.Items[i-1] := ListView1.Items[i];
ListView1.Items[i] := temp;
ListView1.Selected := ListView1.Items[i-1];
ListView1.Invalidate;
end;
end;
end;
Leider führt dieser Quelltext nur dazu, dass mein gewähltes Elemnt immer nur das davor stehende Element überschreibt.
MfG
-jryan