Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ListView sortieren und Artikel ignorieren? (https://www.delphipraxis.net/100292-listview-sortieren-und-artikel-ignorieren.html)

MCXSC 25. Sep 2007 22:05


ListView sortieren und Artikel ignorieren?
 
Hallo!

Zuerst einmal folgendes: Ich sortiere meine ListView so, wie in diesem Artiel beschrieben.

Nun möchte ich aber, dass eine bestimmte Wortliste (oder einfacher: Der, Die, Das, The) bei dem sortieren ignoriert werden (sofern sie am Anfang stehen). Also z.B. "Das Forum" soll einfach nur als "Forum" gewertet werden (aber eben als "Das Forum" angezeigt werden)...

Allerdings habe ich es nicht hinbekommen, bzw. die Performance ist richtig (sorry für den Ausdruck) "am Arsch" und es geht gar nichts mehr.

Kennt jemand eine Möglichkeit (vll. gibt es sowas ja intern schon?)?

Danke im vorraus,
MCXSC

marabu 26. Sep 2007 07:12

Re: ListView sortieren und Artikel ignorieren?
 
Moin Marcel,

eigentlich ist es ganz einfach: Du darfst den String (z.B. item.Caption) nicht direkt sortieren, sondern musst eine Abbildung zwischenschalten:

Delphi-Quellcode:
function SortStr(const s: string; skip: TStrings): string;
var
  w: string;
  i: Integer;
begin
  i := Pos(' ', s);
  if i = 0
    then w := s
    else w := Copy(s, 1, Pred(i));
  if skip.IndexOf(w) < 0
    then Result := s
    else Result := Trim(Copy(s, i, MaxInt));
end;
In skip übergibst du einfach die Artikel.

Getippt und nicht getestet.

Grüße vom marabu

Luckie 26. Sep 2007 08:24

Re: ListView sortieren und Artikel ignorieren?
 
Prinzipiell solltest du die Datenmenge sortieren und den Listview nur zur Visualisierung benutzen.

generic 26. Sep 2007 08:38

Re: ListView sortieren und Artikel ignorieren?
 
Du könntest auch den Virtualstringtree nutzen von Mike Lischke.
Dieser hat ein Ereignis, welches ausgelöst wird wenn sortiert wird.
Dort kannst du eine angepasste Sortierung hinterlegen.

MCXSC 26. Sep 2007 13:56

Re: ListView sortieren und Artikel ignorieren?
 
Zitat:

Zitat von marabu
eigentlich ist es ganz einfach: Du darfst den String (z.B. item.Caption) nicht direkt sortieren, sondern musst eine Abbildung zwischenschalten:

Hmm... wo zwischenschalten? *Dumm-guck-dumm-frag* :)

//Edit: Ah ok. :D Ich habs^^ Riesen dankeschön. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 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