![]() |
In ListView einzelne Spalten sortieren
Liste der Anhänge anzeigen (Anzahl: 1)
Ist es möglich in einer ListView auch die SubItems zu sortieren?
Als bei Klick auf "Feldtyp" das der die Feldtypen Alphabetisch sortiert. Genauso bei Feldlänge und Feldname (Siehe Bild). So wie ich das sehe gibt es leider kein "OnTitleClick" wie z.B. beim DBGrid :-( |
Re: In ListView einzelne Spalten sortieren
Zitat:
schaue dir mal OnColumnClick an. |
Re: In ListView einzelne Spalten sortieren
Hab ich gemacht. Nur leider find ich da nichts was mich weiterbringt. Kann mir wer helfen?
|
Re: In ListView einzelne Spalten sortieren
Schau mal in die Delphi-OH für onColumnClick. Dann klicke auf Beispiel und voilá: ein Beispiel zum Sortieren beliebiger Spalten. (jedenfalls bei mir)
|
Re: In ListView einzelne Spalten sortieren
Ich schreibe mal in diesem Thread weiter:
Ich sortiere meine ListView mit dem Code aus der ![]() Jetzt hätte ich gerne, dass beim erstellen der Listview automatisch nach der dritten Spalte sortiert wird. Also beim create soll eigentlich die Funktion eines Mausklicks auf die dritte Spalte ausgeführt werden. Wie kann ich das realisieren? Vielen Dank schonmal! Grüsse Stefa |
Re: In ListView einzelne Spalten sortieren
Hallo
Allen Sortiermöglichkeiten haben eins gemeinsam: es existiert eine globale Variable (z.B. columntosort), in der gespeichert wird, welche Spalte sortiert werden soll. Du brauchst diese bloß auf deine gewünschte Spalte setzen und anschließend Listview.alphasort aufrufen. Mfg Frank |
Re: In ListView einzelne Spalten sortieren
Und wenn Du da rund herum noch ein BeginUpdate und EndUpdate setzt, gibts nichtmal Flackerei. Und zudem baut sich die Liste dann auch schneller auf.
|
Re: In ListView einzelne Spalten sortieren
Hm, also ich habe in der Unit3 (Formular: Postionstatistik) eine ListView1 und auch eine Sortier-Procedure:
Delphi-Quellcode:
Nun will ich aus der Unit1 das Formular: Postionstatistik erstellt und dort will ich auch gleich die Sortierung. Also habe ich form dem "Show" folgendes in der Unit1 eingetragen:
procedure TPositionstatistik.sortprocedure(Sender: TObject;
Column: TListColumn); begin ColumnToSort := Column.Index; if ColumnToSort = LastSorted then SortDir := 1 - SortDir else SortDir := 0; LastSorted := ColumnToSort; (Sender as TCustomListView).AlphaSort; end;
Delphi-Quellcode:
Doch da kommt immer der Fehler "nicht geügend wirkliche Parameter."
Positionstatistik.sortprocedure(Listview1.Column[3] );
Was mache ich falsch? Viele Grüsse Stef |
Re: In ListView einzelne Spalten sortieren
Delphi-Quellcode:
du hast hier 2 Paramter, und übergibst dann nur einen.
procedure TPositionstatistik.sortprocedure(Sender: TObject;
Column: TListColumn); Es macht so wie es jetzt bei dir dasthet, keinen Sinn, das die Procedure allgemein für mehrere Listviews gehalten wird, da du dann auch für jedes Listview eine Columntosort und Lastsorted-Vasribale brauchst. Alos nimm den "sender" raus. und schreib gleich listview1.alphsort
Delphi-Quellcode:
Mfg Frank
procedure TPositionstatistik.sortprocedure(Column: TListColumn);
begin ColumnToSort := Column.Index; if ColumnToSort = LastSorted then SortDir := 1 - SortDir else SortDir := 0; LastSorted := ColumnToSort; ListView1.AlphaSort; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz