AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sortierung

Ein Thema von schitho · begonnen am 19. Dez 2002 · letzter Beitrag vom 21. Dez 2002
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von schitho
schitho

Registriert seit: 14. Dez 2002
Ort: Wien
47 Beiträge
 
Delphi 7 Professional
 
#1

Sortierung

  Alt 19. Dez 2002, 18:13
Hi,

verwende ShellListView mit vsReport. Dadurch werden neben dem Dateinamen auch noch Größe, Typ, etc,) angezeigt.

Wenn man auf den Header klickt passiert gar nix.

Im Explorer von Windows, wird bei einem Klick auf den Header die jeweilige Spalte sortiert. Dies würde ich gerne auch mit ShellListView erreichen. 8)

Es gibt zwar die Eigenschaft Sorted, doch dadurch kann ich nur bestimmen, ob nach der ersten Spalte sortiert werden soll.

Wie kann ich nun erreichen, dass durch einen Klick am Header die jeweilige Spalte auf- bzw. absteigend sortiert wird.

Gruß

Thomas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2
  Alt 19. Dez 2002, 18:18
Hast Du mal doppelt gekickt auf den Header ?
  Mit Zitat antworten Zitat
Benutzerbild von schitho
schitho

Registriert seit: 14. Dez 2002
Ort: Wien
47 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 19. Dez 2002, 18:23
Zitat von Hansa:
Hast Du mal doppelt gekickt auf den Header ?
Hab's gerade ausprobiert. Ändert aber nix daran.

Thomas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4
  Alt 19. Dez 2002, 18:27
Tja,

dann mußt Du, so wie immer schon näher erläutern, was Du vorhast.

Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 19. Dez 2002, 18:32
Moin Thomas,

ich vermute mal, dass der ShellListView vom CustomListView abgeleitet ist, und über eine Methode CustomSort verfügt.
Sollte das der Fall sein, dann könntest Du es hierüber einbauen.
(zumindest in D5 ist das Beispiel in der Hilfe einigermassen brauchbar)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von schitho
schitho

Registriert seit: 14. Dez 2002
Ort: Wien
47 Beiträge
 
Delphi 7 Professional
 
#6
  Alt 19. Dez 2002, 18:47
Zitat:
dann mußt Du, so wie immer schon näher erläutern, was Du vorhast.
Ich dachte, dass hätte ich eh schon gemacht.

Na gut. Versuch ich es eben nochmals:

Also ich verwende in meinem Programm ShellListview, um alle Dateien eines Verzeichnisses anzuzeigen. Dabei wird neben dem Dateinamen (1.Spalte), die Dateigröße (2.Spalte), der Dateityp (3.Spalte) und das Datum der letzten Änderung (4.Spalte) angezeigt. Also genaus, wie im Windows Exlorer in der Ansicht Details.

Nun gibt es ganz oben so einen grauen Balken (den Header), in dem sich auch die Spaltenbeschriftung befindet (Dateiname, Größe, Typ und Geändert am).

Wenn man nun auf Header von Dateiname klickt, soll die Liste nach den Dateinamen (alphabetisch) sortiert werden. War sie vorher aufsteigen sortiert, dann soll sie nach einem Klick absteigend sortiert werden und umgekehrt.

Wenn man nun auf Header von Größe klickt, soll sich Liste nach der Dateigröße der einzelnen Dateien sortiert werden. War sie vorher aufsteigen sortiert, dann soll sie nach einem Klick absteigend sortiert werden und umgekehrt.

etc.

Jetzt alles klar??

Und, wie lös ich dieses Problem. Momentan tut sich beim klicken nämlich gar nix

Gruß
Thomas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7
  Alt 19. Dez 2002, 19:00
Hi,

So ungefähr meinte ich das ja. Da fällt mir noch ein : Ist das nicht TreeView ??

Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von schitho
schitho

Registriert seit: 14. Dez 2002
Ort: Wien
47 Beiträge
 
Delphi 7 Professional
 
#8
  Alt 19. Dez 2002, 19:01
Zitat:
ich vermute mal, dass der ShellListView vom CustomListView abgeleitet ist, und über eine Methode CustomSort verfügt.
So düfte es sein. Hab den Code eingebaut. Allerdings funktioniert es nicht. Was ist falsch daran???

Code:
function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
  Result := -CompareText(Item1.Caption,Item2.Caption);
end;


procedure TFormShredExplor.ShellListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  ShellListView1.CustomSort(@CustomSortProc, 0);
  ShellListView1.Refresh;
end;
Gruß
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9
  Alt 19. Dez 2002, 19:42
Und jetzt die eine Millionen Euro Frage: Was geht nicht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von harrybo
harrybo

Registriert seit: 26. Nov 2002
Ort: Aachen
87 Beiträge
 
Delphi 6 Enterprise
 
#10
  Alt 19. Dez 2002, 21:10
Hi schitho,

TShellListView kannst Du ersetzen durch die kostenlose Komponente "Virtual TreeView", zu finden auf der Site von Mike Lischke unter http://www.delphi-gems.com/VirtualTreeview/VT.php. Zugegeben, die Installation ist trotz ausreichender Dokumentation etwas umständlich, dafür wirst Du belohnt mit einer Komponente, deren Properties-Liste etwa dreimal so lang ist. Sortieren kann die Komponente ohne zusätzliche Programmierung, außerdem gibt es hier neben vsReport auch die Miniaturansicht und einiges mehr. Angenehmer Nebeneffekt: die Komponente hat eine deutlich höhere Performance als TShellListView.
gruß, harrybo
Harry Boldt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz