Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: TlistView Spalten sortieren

  Alt 8. Okt 2003, 10:42
Okay, das war mir nicht klar. Dann kurz ein kleine Einweisung. Wenn Du die Columns im Editor anlegst, dan erhält jede eine eindeutige ID (Vergabe erfolgt automatisch) von 0 bis zur Anzahl der Spalten - 1. Damit kannst Du dann auf die Spalten immer eindeutig zugreifen und deren Index neu setzen.

Als erstes erst einmal die Herstellung der Standardsortierung für X Spalten:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to Pred(ListView1.Columns.Count) do
    ListView1.Columns.FindItemID(I).Index := I;
end;
Nun zur bestimmten Neusortierung. Hier musst Du beachten, daß Du die Reihenfolge so festlegst, wie die Spalten erscheinen sollen, ansonsten wird das Ergebnis meist wir. Soll die (Original) 2. Spalten an erste Stelle, die dritte an zweite und die erste Spalte an dritte Stelle also

aus 0 - 1 - 2
wird 1 - 2 - 0

dann wäre folgender Code der benötigte:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  // ListView1.Columns.FindItemID(ORIGINAL POSITION).Index := NEUE POSITION
  ListView1.Columns.FindItemID(1).Index := 0;
  ListView1.Columns.FindItemID(2).Index := 1;
  ListView1.Columns.FindItemID(0).Index := 2;
end;
Ich hoffe, daß Dir das jetzt die gewünschte Lösung bringt.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat