AGB  ·  Datenschutz  ·  Impressum  







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

Listview sortieren

Ein Thema von devnull · begonnen am 23. Dez 2003 · letzter Beitrag vom 23. Dez 2003
Antwort Antwort
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

Listview sortieren

  Alt 23. Dez 2003, 10:01
Hi,
ich hab eine ListView (vsReport) mit mehreren Spalten. Wenn man jetzt auf eine der Spalten klicke, soll das Programm die Elemente der Spalten absteigend (alles nur zahlen) ordnen !

Ich hab kein Plan, wie ich das machen soll !
Welchen Sortier-Algorithmus soll ich da benutzen ????

devnull
-- Never change a running system --
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Listview sortieren

  Alt 23. Dez 2003, 11:20
Hallo

Die Onlinehilfe hast du schon gefunden?
Unter Listview -> oncolumnclick, oncompare gibts ein Beispiel wie es geht.
in deinem Fall kannst du comparetext nicht verwenden, wenn du Zahlenstrings ersetzen willst, sondern erstmal in Zahlen wandeln. Wenn du nicht sehr viele Items hast, wird sich das nicht groß geschwindigkeitsmäßig bemerkbar machen.

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#3

Re: Listview sortieren

  Alt 23. Dez 2003, 11:53
Hier im Forum suchenListview sortieren und dann den 2ten eintrag. Da steht es
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#4

Re: Listview sortieren

  Alt 23. Dez 2003, 12:27
jetzt hab auch ich das begriffen ...

Delphi-Quellcode:
function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
  case ParamSort of
    0 : Result := -CompareText(Item1.SubItems.Text,Item2.SubItems.Text);
    1 : Result := CompareText(Item1.SubItems.Text,Item2.SubItems.Text);
    2 : Result := -CompareText(Item1.Caption,Item2.Caption);
    3 : Result := CompareText(Item1.Caption,Item2.Caption);
  end;
end;

procedure TForm1.ListeColumnClick(Sender: TObject;
  Column: TListColumn);
var ColumnToSort: Integer;
begin
  ColumnToSort := Column.Index;
  case ColumnToSort of
    1 : begin
          if posVZ [1] = true then begin
             Liste.CustomSort(@CustomSortProc, 0);
             posVZ [1] := false;
          end
          else begin
             Liste.CustomSort(@CustomSortProc, 1);
             posVZ [1] := true;
          end;
    end;
    else begin
          if posVZ [2] = true then begin
             Liste.CustomSort(@CustomSortProc, 2);
             posVZ [2] := false;
          end
          else begin
             Liste.CustomSort(@CustomSortProc, 3);
             posVZ [2] := true;
          end;
    end;
  end;
end;
Hoffe, dass es jetzt nich ganz falsch is
-- Never change a running system --
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:04 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