Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - TShellListview Sortieren


Soulama - Fr 23.07.04 16:27
Titel: TShellListview Sortieren
weiss jemand wie man eine TShellListview sortiert ?


Viper - Fr 23.07.04 16:57

Nach welchem Kriterium willst du denn überhaupt sortieren?


SvenAbeln - Fr 23.07.04 17:09

sorted:=True :wink:


Soulama - Fr 23.07.04 23:39

Sorted:=True (Hab ich shon probiert)
Nachwelchem Kriterium ? (Gute Frage)
es gibt in einer TShellListview 4 Spalten(Explorer Eigenschaft)
und die möchte ich Sortieren.
Problem ist, dass TShellListView kein onCompare Event anbietet.
eine normale TListView weiss ich wie das geht mit Sortieren, aber
Eine TShellListView(istPreis Frage)


Viper - So 25.07.04 18:51

also: Ich würde es über das Ereignis OnColumnClick machen.

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TMainForm.SLVColumnClick(Sender: TObject;
  Column: TListColumn);
begin

end;


Über Column.Index; bekommst du dann raus auf welche Spalte du geklickt hast.

Dann kannst du anfangen mit dem Sortieren deiner Listview:

Delphi-Quelltext
1:
2:
3:
ShellListView.Items.Count; //gibt dir die Anzahl aller Einträge
ShellListView.Items.Item[0].Caption; //ist der Eintrag in Spalte 1, Zeile 1
ShellListView.Items.Item[0].SubItems[0]; //ist der Eintrag in Spalte2, Zeile 1

so kannst du dann alles einlesen, miteinander vergleichen und gegebenenfalls neu sortieren.
Ein Beispiel bekomme ich jetzt auf die Schnelle nicht hin, versuch es erstmal selber und sonst frage einfach noch mal.