Autor Beitrag
Jas DA
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 06.05.03 15:19 
Bei ´ner Listbox gibt es ja die Eigentschaft "Sorted". Gibt es sowas bei der TListView auch ???? Die Zeilen sollen anhand der Captions alphabetisch geordnet werden. Oder muss ich jedes einzelne auslesen und dann durch einen Sortieralgor. jagen ?
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Di 06.05.03 15:24 
Hallo,

gugg mal in der Hilfe zu listview-> methode alphasort. dort ist ein Beispiel hinterlegt, wie du deine Spalten sortierst, wenn du auf einen Spalten kopf klickst. Das hilft dir weiter.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Jas DA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 06.05.03 20:38 
In der Hilfe habe ich folgendes gefunden:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.ListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
begin
ColumnToSort := Column.Index;
  (Sender as TCustomListView).AlphaSort;
end;


Das funktioniert ja auch wunderbar. Aber jetzt habe ich ein Problem, welches ich schon öfters in Delphi hatte (kommt vielleicht daher, dass ich nur Turbo Pascal richtig gelernt habe). Ich will diese Prozedur nicht ausführen, wenn jemand auf eine Column Spalte klickt, sondern bei Form.Create (also am Anfang automatisch). Einfach die Zeilen in die andere Prozedur schieben geht nicht, da dann gemeckert wird, dass Column ja nicht bekannt ist.

Also wie kann ich sowas in einer anderen Prozedur einbinden ?
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Di 06.05.03 20:59 
in der Delphi 3-hilfe ist das bsp grad nicht drin.
aber wenn ich mich recht erinneren, ist Columntosort eine globale Variable, die bei Oncompare genommen wird und die die Spalte angibt nachder sortiert wird.

ausblenden Quelltext
1:
2:
3:
4:
5:
procedure Form1.irgendwo
  begin
     columntosort:=0;
     Listview1.alphasort; //direkt, hast ja keinen "sender" mehr.
  end;


wenn du nur nach der caption sortieren willst kannst du dir die variable columtosort auch gleich ganz einsparen und änderst den code bei oncompare entsprechend gleih auf die 1. Spalte.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)