Einzelnen Beitrag anzeigen

jryan

Registriert seit: 25. Nov 2003
19 Beiträge
 
Delphi 7 Architect
 
#1

2 Einträge in einem TListeView tauschen

  Alt 16. Sep 2004, 07:30
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
  Mit Zitat antworten Zitat